boost::unordered_flat_map benchmarks

Automated benchmarks of boost::unordered_flat_map against boost::unordered_map and absl::flat_hash_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 11, x64
  • clang-x64: Clang 12, x64
  • vs-x64: Visual Studio 2019, x64
  • clang-arm64: Clang 12 ARM64
  • gcc-x86: GCC 11, x86
  • clang-x86: Clang 12, x86
  • vs-x86: Visual Studio 2019, 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 11, x64

Running insertion Running erasure Successful lookup Unsuccessful lookup

Clang 12, x64

Running insertion Running erasure Successful lookup Unsuccessful lookup

Visual Studio 2019, x64

Running insertion Running erasure Successful lookup Unsuccessful lookup

Clang 12, ARM64

Running insertion Running erasure Successful lookup Unsuccessful lookup

GCC 11, x86

Running insertion Running erasure Successful lookup Unsuccessful lookup

Clang 12, x86

Running insertion Running erasure Successful lookup Unsuccessful lookup

Visual Studio 2019, x86

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