Files
boost_unordered_benchmarks/README.md
2025-08-16 12:51:08 +00:00

49 KiB

Boost.Unordered aggregate benchmarks

Benchmarks

Aggregated benchmarks simulating real-life scenarios, provided as part of Boost.Unordered source code.

Detailed results

Folder

  • gcc-x64: GCC 12, x64
  • clang-x64: Clang 15, x64
  • vs-x64: Visual Studio 2022, x64
  • vs-x86: Visual Studio 2022, x86

Summary results

GCC 12, x64

string.cpp
                  std::unordered_map: 36656 ms, 271711224 bytes in 3999509 allocations
                boost::unordered_map: 22348 ms, 245453904 bytes in 3999510 allocations
           boost::unordered_node_map: 11262 ms, 231283496 bytes in 3999509 allocations
           boost::unordered_flat_map: 12324 ms, 322961400 bytes in 1 allocations
        ankerl::unordered_dense::map: 10937 ms, 234881024 bytes in 2 allocations
                   indivi::flat_umap: 12726 ms,         0 bytes in 0 allocations
                   indivi::flat_wmap:  9769 ms,         0 bytes in 0 allocations
                 absl::node_hash_map: 14421 ms, 235477800 bytes in 3999509 allocations
                 absl::flat_hash_map: 14330 ms, 343932904 bytes in 1 allocations
          std::unordered_map, FNV-1a: 40330 ms, 271711224 bytes in 3999509 allocations
        boost::unordered_map, FNV-1a: 27320 ms, 245453904 bytes in 3999510 allocations
   boost::unordered_node_map, FNV-1a: 15328 ms, 231283496 bytes in 3999509 allocations
   boost::unordered_flat_map, FNV-1a: 17326 ms, 322961400 bytes in 1 allocations
ankerl::unordered_dense::map, FNV-1a: 19365 ms, 234881024 bytes in 2 allocations
           indivi::flat_umap, FNV-1a: 19791 ms,         0 bytes in 0 allocations
           indivi::flat_wmap, FNV-1a: 15088 ms,         0 bytes in 0 allocations
         absl::node_hash_map, FNV-1a: 19165 ms, 235477800 bytes in 3999509 allocations
         absl::flat_hash_map, FNV-1a: 17326 ms, 343932904 bytes in 1 allocations
string_view.cpp
                  std::unordered_map: 33386 ms, 207719096 bytes in 3999509 allocations
                boost::unordered_map: 21771 ms, 181461776 bytes in 3999510 allocations
           boost::unordered_node_map: 10808 ms, 167291368 bytes in 3999509 allocations
           boost::unordered_flat_map: 10616 ms, 197132280 bytes in 1 allocations
        ankerl::unordered_dense::map: 10008 ms, 167772160 bytes in 2 allocations
                   indivi::flat_umap: 10531 ms,         0 bytes in 0 allocations
                   indivi::flat_wmap:  8301 ms,         0 bytes in 0 allocations
                 absl::node_hash_map: 13397 ms, 171485672 bytes in 3999509 allocations
                 absl::flat_hash_map: 12081 ms, 209715192 bytes in 1 allocations
          std::unordered_map, FNV-1a: 37543 ms, 207719096 bytes in 3999509 allocations
        boost::unordered_map, FNV-1a: 27663 ms, 181461776 bytes in 3999510 allocations
   boost::unordered_node_map, FNV-1a: 14490 ms, 167291368 bytes in 3999509 allocations
   boost::unordered_flat_map, FNV-1a: 14385 ms, 197132280 bytes in 1 allocations
ankerl::unordered_dense::map, FNV-1a: 18495 ms, 167772160 bytes in 2 allocations
           indivi::flat_umap, FNV-1a: 16609 ms,         0 bytes in 0 allocations
           indivi::flat_wmap, FNV-1a: 13270 ms,         0 bytes in 0 allocations
         absl::node_hash_map, FNV-1a: 18031 ms, 171485672 bytes in 3999509 allocations
         absl::flat_hash_map, FNV-1a: 16509 ms, 209715192 bytes in 1 allocations
uint32.cpp
          std::unordered_map: 13814 ms, 192888392 bytes in 5996681 allocations
        boost::unordered_map: 10549 ms, 149424400 bytes in 5996682 allocations
   boost::unordered_node_map:  6494 ms, 119276616 bytes in 5996681 allocations
   boost::unordered_flat_map:  4440 ms,  71303176 bytes in 1 allocations
ankerl::unordered_dense::map:  8167 ms, 134217728 bytes in 2 allocations
           indivi::flat_umap:  5147 ms,         0 bytes in 0 allocations
           indivi::flat_wmap:  3993 ms,         0 bytes in 0 allocations
         absl::node_hash_map:  9290 ms, 123470920 bytes in 5996681 allocations
         absl::flat_hash_map:  6508 ms,  75497480 bytes in 1 allocations
uint64.cpp
          std::unordered_map: 14566 ms, 240941512 bytes in 6000001 allocations
        boost::unordered_map: 10949 ms, 197477520 bytes in 6000002 allocations
   boost::unordered_node_map:  6987 ms, 167303176 bytes in 6000001 allocations
   boost::unordered_flat_map:  5309 ms, 134217728 bytes in 1 allocations
ankerl::unordered_dense::map:  8070 ms, 201326592 bytes in 2 allocations
           indivi::flat_umap:  6754 ms,         0 bytes in 0 allocations
           indivi::flat_wmap:  4611 ms,         0 bytes in 0 allocations
         absl::node_hash_map:  8648 ms, 171497480 bytes in 6000001 allocations
         absl::flat_hash_map:  6882 ms, 142606336 bytes in 1 allocations
uuid.cpp
          std::unordered_map: 32776 ms, 288941512 bytes in 6000001 allocations
        boost::unordered_map: 26101 ms, 245477520 bytes in 6000002 allocations
   boost::unordered_node_map: 11211 ms, 215303176 bytes in 6000001 allocations
   boost::unordered_flat_map: 10364 ms, 197132280 bytes in 1 allocations
ankerl::unordered_dense::map: 15791 ms, 268435456 bytes in 2 allocations
           indivi::flat_umap: 13227 ms,         0 bytes in 0 allocations
           indivi::flat_wmap:  9601 ms,         0 bytes in 0 allocations
         absl::node_hash_map: 14361 ms, 219497480 bytes in 6000001 allocations
         absl::flat_hash_map: 11456 ms, 209715192 bytes in 1 allocations
word_count.cpp
                  std::unordered_map: 30772 ms,  68323424 bytes in 1418656 allocations
                boost::unordered_map: 21944 ms,  58766384 bytes in 1418657 allocations
           boost::unordered_node_map: 14352 ms,  51873520 bytes in 1418656 allocations
           boost::unordered_flat_map: 12193 ms,  49283064 bytes in 1 allocations
        ankerl::unordered_dense::map: 15054 ms,  67108864 bytes in 2 allocations
                   indivi::flat_umap: 12721 ms,         0 bytes in 0 allocations
                   indivi::flat_wmap: 12171 ms,         0 bytes in 0 allocations
                 absl::node_hash_map: 14823 ms,  52922096 bytes in 1418656 allocations
                 absl::flat_hash_map: 12699 ms,  52428792 bytes in 1 allocations
          std::unordered_map, FNV-1a: 29911 ms,  68323424 bytes in 1418656 allocations
        boost::unordered_map, FNV-1a: 21570 ms,  58766384 bytes in 1418657 allocations
   boost::unordered_node_map, FNV-1a: 14781 ms,  51873520 bytes in 1418656 allocations
   boost::unordered_flat_map, FNV-1a: 12872 ms,  49283064 bytes in 1 allocations
ankerl::unordered_dense::map, FNV-1a: 25605 ms,  67108864 bytes in 2 allocations
           indivi::flat_umap, FNV-1a: 13155 ms,         0 bytes in 0 allocations
           indivi::flat_wmap, FNV-1a: 13006 ms,         0 bytes in 0 allocations
         absl::node_hash_map, FNV-1a: 15308 ms,  52922096 bytes in 1418656 allocations
         absl::flat_hash_map, FNV-1a: 13342 ms,  52428792 bytes in 1 allocations
word_size.cpp
          std::unordered_map:  1317 ms,      3728 bytes in 114 allocations
        boost::unordered_map:   725 ms,      4392 bytes in 115 allocations
   boost::unordered_node_map:   653 ms,      3992 bytes in 114 allocations
   boost::unordered_flat_map:   542 ms,      4096 bytes in 1 allocations
ankerl::unordered_dense::map:   599 ms,      4096 bytes in 2 allocations
           indivi::flat_umap:   589 ms,         0 bytes in 0 allocations
           indivi::flat_wmap:   588 ms,         0 bytes in 0 allocations
         absl::node_hash_map:   571 ms,      4120 bytes in 114 allocations
         absl::flat_hash_map:   525 ms,      4352 bytes in 1 allocations

Clang 15, x64

string.cpp
                  std::unordered_map: 35160 ms, 271711224 bytes in 3999509 allocations
                boost::unordered_map: 21346 ms, 245453904 bytes in 3999510 allocations
           boost::unordered_node_map: 11097 ms, 231283496 bytes in 3999509 allocations
           boost::unordered_flat_map: 12162 ms, 322961400 bytes in 1 allocations
        ankerl::unordered_dense::map: 13298 ms, 234881024 bytes in 2 allocations
                   indivi::flat_umap: 12020 ms,         0 bytes in 0 allocations
                   indivi::flat_wmap:  9654 ms,         0 bytes in 0 allocations
                 absl::node_hash_map: 12761 ms, 235477800 bytes in 3999509 allocations
                 absl::flat_hash_map: 12792 ms, 343932904 bytes in 1 allocations
          std::unordered_map, FNV-1a: 35900 ms, 271711224 bytes in 3999509 allocations
        boost::unordered_map, FNV-1a: 24050 ms, 245453904 bytes in 3999510 allocations
   boost::unordered_node_map, FNV-1a: 13646 ms, 231283496 bytes in 3999509 allocations
   boost::unordered_flat_map, FNV-1a: 14731 ms, 322961400 bytes in 1 allocations
ankerl::unordered_dense::map, FNV-1a: 17951 ms, 234881024 bytes in 2 allocations
           indivi::flat_umap, FNV-1a: 16736 ms,         0 bytes in 0 allocations
           indivi::flat_wmap, FNV-1a: 13741 ms,         0 bytes in 0 allocations
         absl::node_hash_map, FNV-1a: 16941 ms, 235477800 bytes in 3999509 allocations
         absl::flat_hash_map, FNV-1a: 16208 ms, 343932904 bytes in 1 allocations
string_view.cpp
                  std::unordered_map: 33169 ms, 207719096 bytes in 3999509 allocations
                boost::unordered_map: 21311 ms, 181461776 bytes in 3999510 allocations
           boost::unordered_node_map: 11506 ms, 167291368 bytes in 3999509 allocations
           boost::unordered_flat_map: 11653 ms, 197132280 bytes in 1 allocations
        ankerl::unordered_dense::map: 12604 ms, 167772160 bytes in 2 allocations
                   indivi::flat_umap: 10648 ms,         0 bytes in 0 allocations
                   indivi::flat_wmap:  8544 ms,         0 bytes in 0 allocations
                 absl::node_hash_map: 12193 ms, 171485672 bytes in 3999509 allocations
                 absl::flat_hash_map: 11481 ms, 209715192 bytes in 1 allocations
          std::unordered_map, FNV-1a: 34127 ms, 207719096 bytes in 3999509 allocations
        boost::unordered_map, FNV-1a: 24877 ms, 181461776 bytes in 3999510 allocations
   boost::unordered_node_map, FNV-1a: 13551 ms, 167291368 bytes in 3999509 allocations
   boost::unordered_flat_map, FNV-1a: 13414 ms, 197132280 bytes in 1 allocations
ankerl::unordered_dense::map, FNV-1a: 17279 ms, 167772160 bytes in 2 allocations
           indivi::flat_umap, FNV-1a: 15057 ms,         0 bytes in 0 allocations
           indivi::flat_wmap, FNV-1a: 12721 ms,         0 bytes in 0 allocations
         absl::node_hash_map, FNV-1a: 16270 ms, 171485672 bytes in 3999509 allocations
         absl::flat_hash_map, FNV-1a: 15399 ms, 209715192 bytes in 1 allocations
uint32.cpp
          std::unordered_map: 12319 ms, 192888392 bytes in 5996681 allocations
        boost::unordered_map: 10079 ms, 149424400 bytes in 5996682 allocations
   boost::unordered_node_map:  6539 ms, 119276616 bytes in 5996681 allocations
   boost::unordered_flat_map:  4360 ms,  71303176 bytes in 1 allocations
ankerl::unordered_dense::map:  8009 ms, 134217728 bytes in 2 allocations
           indivi::flat_umap:  5446 ms,         0 bytes in 0 allocations
           indivi::flat_wmap:  3933 ms,         0 bytes in 0 allocations
         absl::node_hash_map:  8713 ms, 123470920 bytes in 5996681 allocations
         absl::flat_hash_map:  5796 ms,  75497480 bytes in 1 allocations
uint64.cpp
          std::unordered_map: 14575 ms, 240941512 bytes in 6000001 allocations
        boost::unordered_map: 10841 ms, 197477520 bytes in 6000002 allocations
   boost::unordered_node_map:  7116 ms, 167303176 bytes in 6000001 allocations
   boost::unordered_flat_map:  5435 ms, 134217728 bytes in 1 allocations
ankerl::unordered_dense::map:  8010 ms, 201326592 bytes in 2 allocations
           indivi::flat_umap:  7165 ms,         0 bytes in 0 allocations
           indivi::flat_wmap:  4724 ms,         0 bytes in 0 allocations
         absl::node_hash_map:  9574 ms, 171497480 bytes in 6000001 allocations
         absl::flat_hash_map:  7323 ms, 142606336 bytes in 1 allocations
uuid.cpp
          std::unordered_map: 29689 ms, 288941512 bytes in 6000001 allocations
        boost::unordered_map: 23576 ms, 245477520 bytes in 6000002 allocations
   boost::unordered_node_map: 11376 ms, 215303176 bytes in 6000001 allocations
   boost::unordered_flat_map: 10360 ms, 197132280 bytes in 1 allocations
ankerl::unordered_dense::map: 13276 ms, 268435456 bytes in 2 allocations
           indivi::flat_umap: 12851 ms,         0 bytes in 0 allocations
           indivi::flat_wmap:  9380 ms,         0 bytes in 0 allocations
         absl::node_hash_map: 14214 ms, 219497480 bytes in 6000001 allocations
         absl::flat_hash_map: 11662 ms, 209715192 bytes in 1 allocations
word_count.cpp
                  std::unordered_map: 32548 ms,  68323424 bytes in 1418656 allocations
                boost::unordered_map: 24441 ms,  58766384 bytes in 1418657 allocations
           boost::unordered_node_map: 14232 ms,  51873520 bytes in 1418656 allocations
           boost::unordered_flat_map: 12535 ms,  49283064 bytes in 1 allocations
        ankerl::unordered_dense::map: 17498 ms,  67108864 bytes in 2 allocations
                   indivi::flat_umap: 14872 ms,         0 bytes in 0 allocations
                   indivi::flat_wmap: 13870 ms,         0 bytes in 0 allocations
                 absl::node_hash_map: 16864 ms,  52922096 bytes in 1418656 allocations
                 absl::flat_hash_map: 14836 ms,  52428792 bytes in 1 allocations
          std::unordered_map, FNV-1a: 31223 ms,  68323424 bytes in 1418656 allocations
        boost::unordered_map, FNV-1a: 23941 ms,  58766384 bytes in 1418657 allocations
   boost::unordered_node_map, FNV-1a: 15705 ms,  51873520 bytes in 1418656 allocations
   boost::unordered_flat_map, FNV-1a: 13585 ms,  49283064 bytes in 1 allocations
ankerl::unordered_dense::map, FNV-1a: 27533 ms,  67108864 bytes in 2 allocations
           indivi::flat_umap, FNV-1a: 16023 ms,         0 bytes in 0 allocations
           indivi::flat_wmap, FNV-1a: 15223 ms,         0 bytes in 0 allocations
         absl::node_hash_map, FNV-1a: 17130 ms,  52922096 bytes in 1418656 allocations
         absl::flat_hash_map, FNV-1a: 15086 ms,  52428792 bytes in 1 allocations
word_size.cpp
          std::unordered_map:  1481 ms,      3728 bytes in 114 allocations
        boost::unordered_map:  1079 ms,      4392 bytes in 115 allocations
   boost::unordered_node_map:   687 ms,      3992 bytes in 114 allocations
   boost::unordered_flat_map:   582 ms,      4096 bytes in 1 allocations
ankerl::unordered_dense::map:   896 ms,      4096 bytes in 2 allocations
           indivi::flat_umap:   801 ms,         0 bytes in 0 allocations
           indivi::flat_wmap:   801 ms,         0 bytes in 0 allocations
         absl::node_hash_map:   923 ms,      4120 bytes in 114 allocations
         absl::flat_hash_map:   540 ms,      4352 bytes in 1 allocations

Visual Studio 2022, x64

string.cpp
                  std::unordered_map: 26127 ms, 291081368 bytes in 3999510 allocations
                boost::unordered_map: 19654 ms, 245453904 bytes in 3999510 allocations
           boost::unordered_node_map: 10842 ms, 231283496 bytes in 3999509 allocations
           boost::unordered_flat_map:  9788 ms, 322961400 bytes in 1 allocations
        ankerl::unordered_dense::map: 11485 ms, 279707224 bytes in 2 allocations
                   indivi::flat_umap: 10938 ms,         0 bytes in 0 allocations
                   indivi::flat_wmap:  9374 ms,         0 bytes in 0 allocations
                 absl::node_hash_map: 15526 ms, 235477800 bytes in 3999509 allocations
                 absl::flat_hash_map: 14151 ms, 343932904 bytes in 1 allocations
          std::unordered_map, FNV-1a: 26142 ms, 291081368 bytes in 3999510 allocations
        boost::unordered_map, FNV-1a: 25610 ms, 245453904 bytes in 3999510 allocations
   boost::unordered_node_map, FNV-1a: 14313 ms, 231283496 bytes in 3999509 allocations
   boost::unordered_flat_map, FNV-1a: 13344 ms, 322961400 bytes in 1 allocations
ankerl::unordered_dense::map, FNV-1a: 16905 ms, 279707224 bytes in 2 allocations
           indivi::flat_umap, FNV-1a: 15459 ms,         0 bytes in 0 allocations
           indivi::flat_wmap, FNV-1a: 13390 ms,         0 bytes in 0 allocations
         absl::node_hash_map, FNV-1a: 17583 ms, 235477800 bytes in 3999509 allocations
         absl::flat_hash_map, FNV-1a: 16372 ms, 343932904 bytes in 1 allocations
string_view.cpp
                  std::unordered_map: 23457 ms, 227089224 bytes in 3999510 allocations
                boost::unordered_map: 19018 ms, 181461776 bytes in 3999510 allocations
           boost::unordered_node_map:  9857 ms, 167291368 bytes in 3999509 allocations
           boost::unordered_flat_map:  8469 ms, 197132280 bytes in 1 allocations
        ankerl::unordered_dense::map: 11003 ms, 194667880 bytes in 2 allocations
                   indivi::flat_umap:  9765 ms,         0 bytes in 0 allocations
                   indivi::flat_wmap:  8229 ms,         0 bytes in 0 allocations
                 absl::node_hash_map: 14061 ms, 171485672 bytes in 3999509 allocations
                 absl::flat_hash_map: 12225 ms, 209715192 bytes in 1 allocations
          std::unordered_map, FNV-1a: 23402 ms, 227089224 bytes in 3999510 allocations
        boost::unordered_map, FNV-1a: 24692 ms, 181461776 bytes in 3999510 allocations
   boost::unordered_node_map, FNV-1a: 12824 ms, 167291368 bytes in 3999509 allocations
   boost::unordered_flat_map, FNV-1a: 11313 ms, 197132280 bytes in 1 allocations
ankerl::unordered_dense::map, FNV-1a: 15879 ms, 194667880 bytes in 2 allocations
           indivi::flat_umap, FNV-1a: 13854 ms,         0 bytes in 0 allocations
           indivi::flat_wmap, FNV-1a: 11849 ms,         0 bytes in 0 allocations
         absl::node_hash_map, FNV-1a: 16054 ms, 171485672 bytes in 3999509 allocations
         absl::flat_hash_map, FNV-1a: 13991 ms, 209715192 bytes in 1 allocations
uint32.cpp
          std::unordered_map: 10390 ms, 278138072 bytes in 5996682 allocations
        boost::unordered_map:  8977 ms, 149424400 bytes in 5996682 allocations
   boost::unordered_node_map:  5400 ms, 119276616 bytes in 5996681 allocations
   boost::unordered_flat_map:  3241 ms,  71303176 bytes in 1 allocations
ankerl::unordered_dense::map:  6399 ms, 130888368 bytes in 2 allocations
           indivi::flat_umap:  5965 ms,         0 bytes in 0 allocations
           indivi::flat_wmap:  4735 ms,         0 bytes in 0 allocations
         absl::node_hash_map:  7671 ms, 123470920 bytes in 5996681 allocations
         absl::flat_hash_map:  4820 ms,  75497480 bytes in 1 allocations
uint64.cpp
          std::unordered_map: 13619 ms, 326217760 bytes in 6000002 allocations
        boost::unordered_map: 11727 ms, 197477520 bytes in 6000002 allocations
   boost::unordered_node_map:  6181 ms, 167303176 bytes in 6000001 allocations
   boost::unordered_flat_map:  3675 ms, 134217728 bytes in 1 allocations
ankerl::unordered_dense::map:  6333 ms, 194667872 bytes in 2 allocations
           indivi::flat_umap:  7116 ms,         0 bytes in 0 allocations
           indivi::flat_wmap:  5398 ms,         0 bytes in 0 allocations
         absl::node_hash_map:  8439 ms, 171497480 bytes in 6000001 allocations
         absl::flat_hash_map:  5166 ms, 142606336 bytes in 1 allocations
uuid.cpp
          std::unordered_map: 14339 ms, 374217768 bytes in 6000002 allocations
        boost::unordered_map: 20839 ms, 245477520 bytes in 6000002 allocations
   boost::unordered_node_map:  9005 ms, 215303176 bytes in 6000001 allocations
   boost::unordered_flat_map:  6556 ms, 197132280 bytes in 1 allocations
ankerl::unordered_dense::map: 11560 ms, 258447376 bytes in 2 allocations
           indivi::flat_umap:  9408 ms,         0 bytes in 0 allocations
           indivi::flat_wmap:  7270 ms,         0 bytes in 0 allocations
         absl::node_hash_map: 15849 ms, 219497480 bytes in 6000001 allocations
         absl::flat_hash_map: 12652 ms, 209715192 bytes in 1 allocations
word_count.cpp
                  std::unordered_map: 16782 ms,  90300672 bytes in 1418657 allocations
                boost::unordered_map: 18661 ms,  58766384 bytes in 1418657 allocations
           boost::unordered_node_map: 12161 ms,  51873520 bytes in 1418656 allocations
           boost::unordered_flat_map: 10034 ms,  49283064 bytes in 1 allocations
        ankerl::unordered_dense::map: 12999 ms,  54572488 bytes in 2 allocations
                   indivi::flat_umap: 11902 ms,         0 bytes in 0 allocations
                   indivi::flat_wmap: 11449 ms,         0 bytes in 0 allocations
                 absl::node_hash_map: 16346 ms,  52922096 bytes in 1418656 allocations
                 absl::flat_hash_map: 14202 ms,  52428792 bytes in 1 allocations
          std::unordered_map, FNV-1a: 14938 ms,  90300672 bytes in 1418657 allocations
        boost::unordered_map, FNV-1a: 17295 ms,  58766384 bytes in 1418657 allocations
   boost::unordered_node_map, FNV-1a: 11799 ms,  51873520 bytes in 1418656 allocations
   boost::unordered_flat_map, FNV-1a:  9312 ms,  49283064 bytes in 1 allocations
ankerl::unordered_dense::map, FNV-1a: 22049 ms,  54572488 bytes in 2 allocations
           indivi::flat_umap, FNV-1a: 10929 ms,         0 bytes in 0 allocations
           indivi::flat_wmap, FNV-1a: 10571 ms,         0 bytes in 0 allocations
         absl::node_hash_map, FNV-1a: 13541 ms,  52922096 bytes in 1418656 allocations
         absl::flat_hash_map, FNV-1a: 11679 ms,  52428792 bytes in 1 allocations
word_size.cpp
          std::unordered_map:   820 ms,     11840 bytes in 115 allocations
        boost::unordered_map:  1581 ms,      4392 bytes in 115 allocations
   boost::unordered_node_map:  1299 ms,      3992 bytes in 114 allocations
   boost::unordered_flat_map:   432 ms,      4096 bytes in 1 allocations
ankerl::unordered_dense::map:   708 ms,      4304 bytes in 2 allocations
           indivi::flat_umap:   675 ms,         0 bytes in 0 allocations
           indivi::flat_wmap:   674 ms,         0 bytes in 0 allocations
         absl::node_hash_map:  1690 ms,      4120 bytes in 114 allocations
         absl::flat_hash_map:  1508 ms,      4352 bytes in 1 allocations