4 ms·
The standard dictates performance characteristics that imply the use of buckets, so there is more pointer hopping. A hash map that uses flat memory will end up
by CyberDildonics 9y ago
The standard dictates performance characteristics that imply the use of buckets, so there is more pointer hopping. A hash map that uses flat memory will end up being better. I would guess robin hood hashing + flat memory would be one of the most competitive techniques.
- maxlybbert 9y agoOn top of the performance guarantees, the API explicitly mentions buckets (e.g., http://en.cppreference.com/w/cpp/container/unordered_map/max_bucket_count http://en.cppreference.com/w/cpp/container/unordered_map/max... , http://en.cppreference.com/w/cpp/container/unordered_map/bucket http://en.cppreference.com/w/cpp/container/unordered_map/buc... ).
- stochastic_monk 9y agoWell, even khash uses buckets. It’s just that you skip over your “correct” bucket for insertion if it’s full when using open addressing.