Super high performance C/C++ hash map (table, dictionary)

c, c++, dictionary, hashmap, hashtable

Solution

I would recommend you to try Google SparseHash (or the C11 version Google SparseHash-c11) and see if it suits your needs. They have a memory efficient implementation as well as one optimized for speed. I did a benchmark a long time ago, it was the best hashtable implementation available in terms of speed (however with drawbacks).

Problem

I need to map primitive keys (int, maybe long) to struct values in a high-performance hash map data structure. My program will have a few hundred of these maps, and each map will generally have at most a few thousand entries. However, the maps will be "refreshing" or "churning" constantly; imagine processing millions of `add` and `delete` messages a second. What libraries in C or C++ have a data structure that fits this use case? Or, how would you recommend building your own? Thanks!

Original source

Related problems