mirror of
https://github.com/boostorg/boost_unordered_benchmarks.git
synced 2026-01-19 04:02:13 +00:00
c2f5f1645be2ab67ea0ae9acafcbb0a3bf0f4a6e
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, x64clang-x64: Clang 15, x64vs-x64: Visual Studio 2022, x64vs-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
Description