# `boost::unordered_(flat|node)_map` benchmarks Automated benchmarks of `boost::unordered_flat_map` and `boost::unordered_node_map` against [`absl::flat_hash_map`](https://abseil.io/docs/cpp/guides/container), [`absl::node_hash_map`](https://abseil.io/docs/cpp/guides/container) 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 * `gcc-x64`: GCC 12, x64 * `clang-x64`: Clang 15, x64 * `vs-x64`: Visual Studio 2022, x64 * `clang-arm64`: Clang 12 ARM64 * `gcc-x86`: GCC 12, x86 * `clang-x86`: Clang 15, x86 * `vs-x86`: Visual Studio 2022, x86 ### 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 ### GCC 12, x64 ||||| |:-:|:-:|:-:|:-:| |Running insertion|Running erasure|Successful lookup|Unsuccessful lookup| ### Clang 15, x64 ||||| |:-:|:-:|:-:|:-:| |Running insertion|Running erasure|Successful lookup|Unsuccessful lookup| ### Visual Studio 2022, x64 ||||| |:-:|:-:|:-:|:-:| |Running insertion|Running erasure|Successful lookup|Unsuccessful lookup| ### Clang 12, ARM64 ||||| |:-:|:-:|:-:|:-:| |Running insertion|Running erasure|Successful lookup|Unsuccessful lookup| ### GCC 12, x86 ||||| |:-:|:-:|:-:|:-:| |Running insertion|Running erasure|Successful lookup|Unsuccessful lookup| ### Clang 15, x86 ||||| |:-:|:-:|:-:|:-:| |Running insertion|Running erasure|Successful lookup|Unsuccessful lookup| ### Visual Studio 2022, x86 ||||| |:-:|:-:|:-:|:-:| |Running insertion|Running erasure|Successful lookup|Unsuccessful lookup|