
On Mon, Jan 20, 2025 at 1:48 PM Ivan Matek
I have a fear this discussion is gonna go offtopic, but I do think it is important to remember that Hash2 was designed as framework for "binding" user types with algorithms, with some default implementations of algorithms. So although I was not delighted it is much slower than alternatives there it was much less problematic.
As for Unordered: My history knowledge is bad, but was not Unordered the library that originally inspired C++11 unordered_map? *First Release 1.36.0* Are you talking about speed compared to antique Google hash map implementations like google::dense_hash_map and google::sparse_hash_map?
Ha ha, in my opinion, it's not a good Boost review without going incredibly off-topic and waxing philosophical. My point was, there could've been a strong case to be made against the library for not being as fast as C libraries that have had like a decade and half of optimizations. I am happy to hear that you didn't think it was problematic, however. I love software engineering in terms of goals and there's a lot of cool stuff to be done in the hashing space and we're always trying to make it faster. I was referring to comparisons with the absl::flat_hash_map or any other Swiss Tables implementation. One of these days, I intend to actually write a benchmark comparing Rust's tables as well, because they also use Swiss Tables. I guess my point was, libraries are temporal things and they very rarely stay the same as the library that was reviewed. That's why I think that even though performance obviously matters, I'm hesitant to make it a criteria for acceptance. But others may feel differently, which is the whole point of Boost review. - Christian