Last active
November 26, 2019 14:58
-
-
Save Voultapher/f2d73073a51885a7d8b64252aca97174 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Linux 5.3.13-arch1-1 | |
Benchmark code https://github.com/Voultapher/hashmap-compare 197ef4d9b2b27741a67eb96ff1828e7a83529594 | |
clang version 9.0.0 | |
Run on (4 X 3000 MHz CPU s) | |
CPU Caches: | |
L1 Data 32K (x2) | |
L1 Instruction 32K (x2) | |
L2 Unified 256K (x2) | |
L3 Unified 4096K (x1) | |
***WARNING*** CPU scaling is enabled, the benchmark real time measurements may be noisy and will incur extra overhead. | |
---------------------------------------------------------------- | |
Benchmark Time CPU Iterations | |
---------------------------------------------------------------- | |
libc++ unordered_map | |
fill_only/10 403 ns 402 ns 1759727 | |
fill_only/100 6050 ns 6044 ns 109457 | |
fill_only/1000 56094 ns 56040 ns 12163 | |
fill_only/10000 549848 ns 549238 ns 1166 | |
fill_only/100000 5459958 ns 5447849 ns 110 | |
lookup_one/10 411 ns 411 ns 1703746 | |
lookup_one/100 4450 ns 4433 ns 129694 | |
lookup_one/1000 57416 ns 57362 ns 11818 | |
lookup_one/10000 559313 ns 558678 ns 1183 | |
lookup_one/100000 5571881 ns 5558206 ns 110 | |
lookup_all/10 444 ns 444 ns 1575468 | |
lookup_all/100 4487 ns 4482 ns 155927 | |
lookup_all/1000 61182 ns 61036 ns 11521 | |
lookup_all/10000 586860 ns 585929 ns 968 | |
lookup_all/100000 5825211 ns 5809679 ns 105 | |
lookup_missing/10 1241 ns 1238 ns 582031 | |
lookup_missing/100 10386 ns 10377 ns 67243 | |
lookup_missing/1000 120675 ns 120569 ns 5757 | |
lookup_missing/10000 1368331 ns 1366872 ns 492 | |
lookup_missing/100000 16071619 ns 16040257 ns 43 | |
lookup_random/10 1101 ns 1101 ns 632776 | |
lookup_random/100 10412 ns 10403 ns 66215 | |
lookup_random/1000 111835 ns 111735 ns 6230 | |
lookup_random/10000 1325756 ns 1324313 ns 510 | |
lookup_random/100000 15467393 ns 15435255 ns 45 | |
insert_random/10 1731 ns 1730 ns 401717 | |
insert_random/100 16187 ns 16174 ns 43437 | |
insert_random/1000 162708 ns 162561 ns 4274 | |
insert_random/10000 1980571 ns 1978391 ns 351 | |
insert_random/100000 20565519 ns 20517837 ns 34 | |
traversal/10 447 ns 445 ns 1642315 | |
traversal/100 4433 ns 4429 ns 154010 | |
traversal/1000 60446 ns 60380 ns 11466 | |
traversal/10000 641782 ns 639722 ns 1090 | |
traversal/100000 5965019 ns 5950990 ns 100 | |
copy_element_wise/10 951 ns 950 ns 716235 | |
copy_element_wise/100 13216 ns 13182 ns 54585 | |
copy_element_wise/1000 129283 ns 129142 ns 5152 | |
copy_element_wise/10000 1242114 ns 1240655 ns 543 | |
copy_element_wise/100000 12892446 ns 12857369 ns 52 | |
random_gen/10 620 ns 619 ns 1094283 | |
random_gen/100 5614 ns 5610 ns 124649 | |
random_gen/1000 49464 ns 49424 ns 13868 | |
random_gen/10000 681885 ns 680249 ns 1037 | |
random_gen/100000 5750280 ns 5745641 ns 121 | |
libstdc++ unordered_map | |
fill_only/10 619 ns 618 ns 1119902 | |
fill_only/100 6907 ns 6902 ns 98950 | |
fill_only/1000 80642 ns 80574 ns 8516 | |
fill_only/10000 781878 ns 781014 ns 859 | |
fill_only/100000 7736928 ns 7717306 ns 84 | |
lookup_one/10 635 ns 635 ns 1095188 | |
lookup_one/100 6941 ns 6935 ns 99678 | |
lookup_one/1000 81985 ns 81916 ns 8365 | |
lookup_one/10000 787585 ns 786761 ns 866 | |
lookup_one/100000 7785358 ns 7767006 ns 84 | |
lookup_all/10 743 ns 742 ns 962021 | |
lookup_all/100 7954 ns 7946 ns 86947 | |
lookup_all/1000 96232 ns 95781 ns 7412 | |
lookup_all/10000 913025 ns 911658 ns 753 | |
lookup_all/100000 8974011 ns 8949875 ns 74 | |
lookup_missing/10 1060 ns 1058 ns 657625 | |
lookup_missing/100 10581 ns 10524 ns 67440 | |
lookup_missing/1000 121073 ns 120874 ns 5763 | |
lookup_missing/10000 1280288 ns 1277818 ns 545 | |
lookup_missing/100000 14257090 ns 14225275 ns 49 | |
lookup_random/10 966 ns 965 ns 724963 | |
lookup_random/100 10195 ns 10182 ns 67901 | |
lookup_random/1000 113356 ns 113233 ns 6075 | |
lookup_random/10000 1193703 ns 1191969 ns 600 | |
lookup_random/100000 12650162 ns 12619318 ns 53 | |
insert_random/10 1397 ns 1396 ns 502452 | |
insert_random/100 14527 ns 14502 ns 49469 | |
insert_random/1000 154157 ns 153938 ns 4538 | |
insert_random/10000 1550096 ns 1548454 ns 444 | |
insert_random/100000 17931482 ns 17898130 ns 39 | |
traversal/10 640 ns 640 ns 1062755 | |
traversal/100 7265 ns 7259 ns 95452 | |
traversal/1000 84598 ns 84510 ns 8172 | |
traversal/10000 821167 ns 820146 ns 825 | |
traversal/100000 9709189 ns 9658059 ns 70 | |
copy_element_wise/10 1313 ns 1312 ns 529189 | |
copy_element_wise/100 16871 ns 16854 ns 40935 | |
copy_element_wise/1000 165188 ns 165031 ns 4202 | |
copy_element_wise/10000 1603868 ns 1602047 ns 429 | |
copy_element_wise/100000 16122787 ns 16079162 ns 43 | |
random_gen/10 224 ns 224 ns 3013010 | |
random_gen/100 2189 ns 2187 ns 319185 | |
random_gen/1000 21782 ns 21764 ns 32253 | |
random_gen/10000 216948 ns 216761 ns 3211 | |
random_gen/100000 2174806 ns 2172885 ns 323 | |
Abseil flat_hash_map | |
fill_only/10 426 ns 425 ns 1637688 | |
fill_only/100 2579 ns 2576 ns 271269 | |
fill_only/1000 29493 ns 29465 ns 23621 | |
fill_only/10000 379249 ns 378263 ns 2005 | |
fill_only/100000 3959431 ns 3952859 ns 176 | |
lookup_one/10 441 ns 441 ns 1591405 | |
lookup_one/100 2602 ns 2600 ns 266957 | |
lookup_one/1000 29620 ns 29594 ns 23553 | |
lookup_one/10000 283671 ns 283349 ns 2466 | |
lookup_one/100000 3963573 ns 3956944 ns 176 | |
lookup_all/10 482 ns 482 ns 1431104 | |
lookup_all/100 3068 ns 3065 ns 231258 | |
lookup_all/1000 34278 ns 34246 ns 19151 | |
lookup_all/10000 331666 ns 331307 ns 2127 | |
lookup_all/100000 4856923 ns 4849790 ns 129 | |
lookup_missing/10 1114 ns 1113 ns 628212 | |
lookup_missing/100 8971 ns 8962 ns 76994 | |
lookup_missing/1000 86900 ns 86812 ns 8091 | |
lookup_missing/10000 1034019 ns 1032713 ns 665 | |
lookup_missing/100000 11272091 ns 11256560 ns 59 | |
lookup_random/10 1198 ns 1195 ns 602847 | |
lookup_random/100 9224 ns 9216 ns 75087 | |
lookup_random/1000 92178 ns 92012 ns 7718 | |
lookup_random/10000 1071448 ns 1070205 ns 590 | |
lookup_random/100000 11543024 ns 11528087 ns 57 | |
insert_random/10 1785 ns 1783 ns 392776 | |
insert_random/100 14833 ns 14820 ns 47056 | |
insert_random/1000 138664 ns 138529 ns 5026 | |
insert_random/10000 1743575 ns 1741501 ns 400 | |
insert_random/100000 19712548 ns 19656902 ns 39 | |
traversal/10 458 ns 458 ns 1528603 | |
traversal/100 2793 ns 2791 ns 250190 | |
traversal/1000 33905 ns 33877 ns 20621 | |
traversal/10000 343926 ns 343552 ns 2040 | |
traversal/100000 4264404 ns 4257321 ns 139 | |
copy_element_wise/10 892 ns 891 ns 786179 | |
copy_element_wise/100 5823 ns 5815 ns 116331 | |
copy_element_wise/1000 69504 ns 69442 ns 10013 | |
copy_element_wise/10000 872362 ns 871347 ns 778 | |
copy_element_wise/100000 9917438 ns 9901864 ns 66 | |
random_gen/10 634 ns 633 ns 1082725 | |
random_gen/100 5717 ns 5711 ns 122079 | |
random_gen/1000 52227 ns 52112 ns 13681 | |
random_gen/10000 685568 ns 684933 ns 1004 | |
random_gen/100000 5884780 ns 5879324 ns 117 | |
Skarupke bytell_hash_map | |
fill_only/10 138 ns 138 ns 5058534 | |
fill_only/100 2151 ns 2149 ns 327212 | |
fill_only/1000 27634 ns 27611 ns 24986 | |
fill_only/10000 296404 ns 296049 ns 1952 | |
fill_only/100000 2849492 ns 2844718 ns 246 | |
lookup_one/10 141 ns 141 ns 4958972 | |
lookup_one/100 2162 ns 2160 ns 315197 | |
lookup_one/1000 28558 ns 28533 ns 24570 | |
lookup_one/10000 246332 ns 246077 ns 2839 | |
lookup_one/100000 2885668 ns 2881094 ns 243 | |
lookup_all/10 159 ns 159 ns 4309906 | |
lookup_all/100 2425 ns 2423 ns 290031 | |
lookup_all/1000 30890 ns 30865 ns 22673 | |
lookup_all/10000 270785 ns 270475 ns 2593 | |
lookup_all/100000 3684583 ns 3663493 ns 224 | |
lookup_missing/10 834 ns 832 ns 843965 | |
lookup_missing/100 8187 ns 8180 ns 84750 | |
lookup_missing/1000 77134 ns 77059 ns 8875 | |
lookup_missing/10000 960456 ns 959403 ns 714 | |
lookup_missing/100000 9472505 ns 9456908 ns 69 | |
lookup_random/10 769 ns 768 ns 893740 | |
lookup_random/100 7794 ns 7788 ns 87959 | |
lookup_random/1000 77617 ns 77551 ns 8748 | |
lookup_random/10000 905177 ns 904216 ns 766 | |
lookup_random/100000 8663183 ns 8651407 ns 75 | |
insert_random/10 1395 ns 1391 ns 488309 | |
insert_random/100 13188 ns 13177 ns 53036 | |
insert_random/1000 130864 ns 130550 ns 5541 | |
insert_random/10000 1548878 ns 1547344 ns 450 | |
insert_random/100000 14164197 ns 14148386 ns 48 | |
traversal/10 163 ns 163 ns 4295967 | |
traversal/100 2396 ns 2394 ns 286450 | |
traversal/1000 31632 ns 31605 ns 22214 | |
traversal/10000 282575 ns 282211 ns 2562 | |
traversal/100000 3298353 ns 3290213 ns 223 | |
copy_element_wise/10 301 ns 301 ns 2215562 | |
copy_element_wise/100 4772 ns 4768 ns 147452 | |
copy_element_wise/1000 61560 ns 61501 ns 11153 | |
copy_element_wise/10000 534456 ns 533846 ns 1217 | |
copy_element_wise/100000 5914916 ns 5901792 ns 105 | |
random_gen/10 595 ns 595 ns 1154146 | |
random_gen/100 5548 ns 5535 ns 128991 | |
random_gen/1000 47567 ns 47514 ns 14639 | |
random_gen/10000 660270 ns 658128 ns 1080 | |
random_gen/100000 5530196 ns 5525262 ns 126 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment