Table of Contents


Again much like Find 1-2000 size_t, except that this time we use 13 byte strings. Every time we insert 4 strings, 800 lookups are performed. This is repeated until 1 million entries are inserted.

Results

Hashes

In Insert & Erase std::string we have evaluated that robin_hood::hash is fastest for 100 byte strings, and this is also the case in this benchmark. libstdc++-v3s performance is a tad slower, FNV1a is very slow.

Hashmaps

Here the advantage of robin_hood::unordered_node_map becomes even more pronounced. It beats all competitors by a nice margin. Memory usage is the second best, only tsl::sparse_map has lower memory usage.

Chart

Each entry shows average time for a single find and access operation (if found). The final number is average over all entries.

  1. blue: 0% find success, 1000 byte size std::string
  2. orange: 25% find success, 1000 byte size std::string
  3. green: 50% find success, 1000 byte size std::string
  4. red: 75% find success, 1000 byte size std::string
  5. magenta: 100% find success, 1000 byte size std::string