boost::unordered_(flat|node)_map benchmarks

Automated benchmarks of boost::unordered_flat_map and boost::unordered_node_map against absl::flat_hash_map, absl::node_hash_map and boost::unordered_map.

Benchmarks

  • running_insertion.cpp: insertion of n random entries into a map of (uint64_t, uint64_t) pairs, n ranging from 10,000 to 10M.
  • running_erasure.cpp: traversal of a map with n elements filled as before and erasure of entries with odd key (50% on average).
  • scattered_lookup.cpp
    • Successful: lookup of the n keys of the container in the same order as inserted.
    • Unsuccesful: lookup of n random keys not related to those inserted (and thus not present in the container with probabilty ~100%).

How to read the results

Folder

  • clang-x64: Clang 18, x64
  • clang-asan-x64: Clang 18 with ASAN enabled, x64
  • fil-c-x64: Fil-C 0.674, x64

Excel file

  • Running insertion.xlsx: results of running_insertion.cpp
  • Running erasure.xlsx: results of running_erasure.cpp
  • Scattered successful looukp.xlsx: results of scattered_lookup.cpp, successful case
  • Scattered unsuccessful looukp.xlsx: results of scattered_lookup.cpp, unsuccessful case

Graphs

Clang 18, x64

Running insertion Running erasure Successful lookup Unsuccessful lookup

Clang 18 with ASAN enabled, x64

Running insertion Running erasure Successful lookup Unsuccessful lookup

Fil-C 0.674, x64

Running insertion Running erasure Successful lookup Unsuccessful lookup
Description
Mirrored via gitea-mirror
Readme 111 MiB