Skip to content

Instantly share code, notes, and snippets.

@okeuday
Created February 19, 2016 03:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save okeuday/7e4549cb030077db5fa4 to your computer and use it in GitHub Desktop.
Save okeuday/7e4549cb030077db5fa4 to your computer and use it in GitHub Desktop.
integer_key, binary_key, string_key (https://github.com/okeuday/erlbench)
Core i7 2670QM 2.2GHz 1 cpu, 4 cores/cpu, 2 hts/core
L2:4×256KB L3:6MB RAM:8GB:DDR3-1333MHz
Sandy Bridge-HE-4 (Socket G2)
TEST integer_key
N == 10 (10 runs)
aadict get: 2.5 us ( 25.0), set: 9.6 us ( 8.0)
array (dynamic) get: 1.0 us ( 10.0), set: 3.7 us ( 3.1)
array (fixed) get: 1.2 us ( 12.0), set: 2.7 us ( 2.3)
btree7 get: 2.6 us ( 26.0), set: 5.2 us ( 4.3)
dict get: 3.5 us ( 35.0), set: 12.2 us ( 10.2)
ets (ordered_set) get: 3.1 us ( 31.0), set: 5.9 us ( 4.9)
ets (set) get: 2.7 us ( 27.0), set: 5.2 us ( 4.3)
gb_trees get: 2.0 us ( 20.0), set: 8.5 us ( 7.1)
hashdict get: 2.5 us ( 25.0), set: 9.6 us ( 8.0)
hashtl get: 2.7 us ( 27.0), set: 7.9 us ( 6.6)
map get: 1.7 us ( 17.0), set: 1.4 us ( 1.2)
process dictionary get: 1.0 us ( 10.0), set: 1.2 us ( 1.0)
rbdict get: 1.9 us ( 19.0), set: 7.7 us ( 6.4)
tuple get: 0.1 us ( 1.0), set: 1.2 us ( 1.0)
N == 100 (10 runs)
aadict get: 26.7 us ( 5.2), set: 106.3 us ( 8.7)
array (dynamic) get: 21.0 us ( 4.1), set: 39.6 us ( 3.2)
array (fixed) get: 20.0 us ( 3.9), set: 39.7 us ( 3.3)
btree7 get: 40.8 us ( 8.0), set: 75.9 us ( 6.2)
dict get: 38.1 us ( 7.5), set: 111.7 us ( 9.2)
ets (ordered_set) get: 31.2 us ( 6.1), set: 54.3 us ( 4.5)
ets (set) get: 24.8 us ( 4.9), set: 43.6 us ( 3.6)
gb_trees get: 30.5 us ( 6.0), set: 117.7 us ( 9.6)
hashdict get: 26.9 us ( 5.3), set: 89.1 us ( 7.3)
hashtl get: 22.3 us ( 4.4), set: 67.2 us ( 5.5)
map get: 15.5 us ( 3.0), set: 41.0 us ( 3.4)
process dictionary get: 7.9 us ( 1.5), set: 12.2 us ( 1.0)
rbdict get: 26.9 us ( 5.3), set: 88.3 us ( 7.2)
tuple get: 5.1 us ( 1.0), set: 27.6 us ( 2.3)
N == 1000 (10 runs)
aadict get: 383.4 us ( 6.4), set: 1739.9 us ( 14.6)
array (dynamic) get: 265.0 us ( 4.4), set: 590.7 us ( 5.0)
array (fixed) get: 265.6 us ( 4.4), set: 604.5 us ( 5.1)
btree7 get: 611.3 us ( 10.2), set: 1475.6 us ( 12.4)
dict get: 364.6 us ( 6.1), set: 1724.0 us ( 14.5)
ets (ordered_set) get: 347.0 us ( 5.8), set: 585.3 us ( 4.9)
ets (set) get: 278.5 us ( 4.7), set: 459.4 us ( 3.9)
gb_trees get: 421.7 us ( 7.1), set: 1808.1 us ( 15.2)
hashdict get: 321.3 us ( 5.4), set: 1067.1 us ( 9.0)
hashtl get: 443.7 us ( 7.4), set: 810.0 us ( 6.8)
map get: 197.2 us ( 3.3), set: 492.8 us ( 4.1)
process dictionary get: 81.8 us ( 1.4), set: 119.2 us ( 1.0)
rbdict get: 378.1 us ( 6.3), set: 1379.5 us ( 11.6)
tuple get: 59.7 us ( 1.0), set: 2535.8 us ( 21.3)
N == 10000 (10 runs)
aadict get: 5265.2 us ( 8.8), set: 24040.4 us ( 17.5)
array (dynamic) get: 3413.4 us ( 5.7), set: 7740.5 us ( 5.6)
array (fixed) get: 3423.9 us ( 5.7), set: 7864.2 us ( 5.7)
btree7 get: 8469.5 us ( 14.2), set: 20029.7 us ( 14.6)
dict get: 3918.8 us ( 6.6), set: 20627.5 us ( 15.1)
ets (ordered_set) get: 4432.1 us ( 7.4), set: 7216.6 us ( 5.3)
ets (set) get: 3423.1 us ( 5.7), set: 6345.0 us ( 4.6)
gb_trees get: 5964.3 us ( 10.0), set: 24650.6 us ( 18.0)
hashdict get: 3820.7 us ( 6.4), set: 12217.7 us ( 8.9)
hashtl get: 4699.4 us ( 7.9), set: 10941.4 us ( 8.0)
map get: 1979.8 us ( 3.3), set: 5534.5 us ( 4.0)
process dictionary get: 819.8 us ( 1.4), set: 1370.3 us ( 1.0)
rbdict get: 5174.4 us ( 8.7), set: 18553.8 us ( 13.5)
tuple get: 597.6 us ( 1.0), set: 239573.6 us (174.8)
N == 100000 (10 runs)
aadict get: 78857.8 us ( 11.3), set: 337080.3 us ( 16.3)
array (dynamic) get: 44638.0 us ( 6.4), set: 104753.9 us ( 5.1)
array (fixed) get: 44016.0 us ( 6.3), set: 110287.6 us ( 5.3)
btree7 get: 111702.1 us ( 16.0), set: 292706.2 us ( 14.2)
dict get: 54570.2 us ( 7.8), set: 609649.8 us ( 29.6)
ets (ordered_set) get: 66560.0 us ( 9.6), set: 101194.7 us ( 4.9)
ets (set) get: 49579.0 us ( 7.1), set: 92890.5 us ( 4.5)
gb_trees get: 87926.7 us ( 12.6), set: 356664.6 us ( 17.3)
hashdict get: 53562.6 us ( 7.7), set: 157717.1 us ( 7.6)
hashtl get: 70410.9 us ( 10.1), set: 135241.4 us ( 6.6)
map get: 28282.9 us ( 4.1), set: 91945.9 us ( 4.5)
process dictionary get: 11607.9 us ( 1.7), set: 20618.9 us ( 1.0)
rbdict get: 75661.5 us ( 10.9), set: 282648.0 us ( 13.7)
tuple get: 6966.5 us ( 1.0), set: 40439329.2 us (*****)
TEST binary_key
N == 10 (10 runs)
aadict get: 3.0 us ( 3.0), set: 8.5 us ( 2.0)
blookupf get: 16.0 us ( 16.0), set: 31.1 us ( 7.2)
blookupv get: 17.1 us ( 17.1), set: 52.6 us ( 12.2), update: 40.4 us ( 1.0)
btrie get: 4.4 us ( 4.4), set: 17.4 us ( 4.0)
dict get: 4.9 us ( 4.9), set: 13.9 us ( 3.2)
ets (ordered_set) get: 4.7 us ( 4.7), set: 8.1 us ( 1.9)
ets (set) get: 5.0 us ( 5.0), set: 9.0 us ( 2.1)
ets x10 read (ordere get: 9.4 us ( 9.4)
ets x10 read (set) get: 63.7 us ( 63.7)
gb_trees get: 3.8 us ( 3.8), set: 16.8 us ( 3.9)
hashdict get: 3.5 us ( 3.5), set: 13.3 us ( 3.1)
hashtl get: 4.1 us ( 4.1), set: 6.3 us ( 1.5)
map get: 2.1 us ( 2.1), set: 4.3 us ( 1.0)
process dictionary get: 1.0 us ( 1.0), set: 4.3 us ( 1.0)
rbdict get: 3.0 us ( 3.0), set: 8.0 us ( 1.9)
N == 100 (10 runs)
aadict get: 57.4 us ( 4.1), set: 127.4 us ( 4.4)
blookupf get: 303.7 us ( 21.8), set: 514.1 us ( 17.7)
blookupv get: 298.4 us ( 21.5), set: 1063.7 us ( 36.6), update: 644.3 us ( 1.0)
btrie get: 49.7 us ( 3.6), set: 214.0 us ( 7.4)
dict get: 45.9 us ( 3.3), set: 112.8 us ( 3.9)
ets (ordered_set) get: 62.6 us ( 4.5), set: 84.8 us ( 2.9)
ets (set) get: 34.9 us ( 2.5), set: 56.2 us ( 1.9)
ets x10 read (ordere get: 58.0 us ( 4.2)
ets x10 read (set) get: 40.4 us ( 2.9)
gb_trees get: 62.6 us ( 4.5), set: 198.3 us ( 6.8)
hashdict get: 33.9 us ( 2.4), set: 96.8 us ( 3.3)
hashtl get: 87.9 us ( 6.3), set: 41.0 us ( 1.4)
map get: 23.3 us ( 1.7), set: 65.4 us ( 2.2)
process dictionary get: 13.9 us ( 1.0), set: 29.1 us ( 1.0)
rbdict get: 53.7 us ( 3.9), set: 109.8 us ( 3.8)
N == 1000 (10 runs)
aadict get: 917.3 us ( 5.7), set: 2201.9 us ( 7.1)
blookupf get: 4408.0 us ( 27.3), set: 16761.1 us ( 54.3)
blookupv get: 4623.2 us ( 28.7), set: 71955.7 us (233.1), update: 47457.5 us ( 1.0)
btrie get: 830.9 us ( 5.2), set: 3042.5 us ( 9.9)
dict get: 475.3 us ( 2.9), set: 1911.9 us ( 6.2)
ets (ordered_set) get: 765.7 us ( 4.8), set: 1111.6 us ( 3.6)
ets (set) get: 362.2 us ( 2.2), set: 617.3 us ( 2.0)
ets x10 read (ordere get: 440.5 us ( 2.7)
ets x10 read (set) get: 262.9 us ( 1.6)
gb_trees get: 1047.0 us ( 6.5), set: 3019.2 us ( 9.8)
hashdict get: 405.2 us ( 2.5), set: 1102.9 us ( 3.6)
hashtl get: 550.0 us ( 3.4), set: 737.5 us ( 2.4)
map get: 202.8 us ( 1.3), set: 578.6 us ( 1.9)
process dictionary get: 161.2 us ( 1.0), set: 308.7 us ( 1.0)
rbdict get: 910.7 us ( 5.6), set: 1824.5 us ( 5.9)
N == 10000 (10 runs)
aadict get: 13551.1 us ( 7.1), set: 35362.0 us ( 5.9)
blookupf get: 88940.7 us ( 46.4), set: 585957.6 us ( 98.0)
blookupv get: 87707.0 us ( 45.8), set: 10508002.7 us (*****), update: 7164715.3 us ( 1.0)
btrie get: 16109.3 us ( 8.4), set: 59952.2 us ( 10.0)
dict get: 5236.9 us ( 2.7), set: 30721.2 us ( 5.1)
ets (ordered_set) get: 10109.7 us ( 5.3), set: 14044.5 us ( 2.3)
ets (set) get: 4570.1 us ( 2.4), set: 8337.3 us ( 1.4)
ets x10 read (ordere get: 3754.8 us ( 2.0)
ets x10 read (set) get: 1916.0 us ( 1.0)
gb_trees get: 15657.2 us ( 8.2), set: 46081.6 us ( 7.7)
hashdict get: 5160.8 us ( 2.7), set: 16877.9 us ( 2.8)
hashtl get: 7572.9 us ( 4.0), set: 20089.1 us ( 3.4)
map get: 2499.0 us ( 1.3), set: 9501.5 us ( 1.6)
process dictionary get: 1965.4 us ( 1.0), set: 5976.7 us ( 1.0)
rbdict get: 13451.5 us ( 7.0), set: 28996.9 us ( 4.9)
TEST string_key
N == 10 (10 runs)
aadict get: 2.2 us ( 1.1), set: 8.3 us ( 1.9)
btrie (binaries) get: 5.4 us ( 2.7), set: 17.7 us ( 4.1)
dict get: 5.6 us ( 2.8), set: 14.9 us ( 3.5)
ets (ordered_set) get: 4.8 us ( 2.4), set: 9.1 us ( 2.1)
ets (set) get: 5.7 us ( 2.9), set: 11.5 us ( 2.7)
ets x10 read (ordere get: 9.5 us ( 4.8)
ets x10 read (set) get: 11.4 us ( 5.7)
gb_trees get: 3.6 us ( 1.8), set: 15.8 us ( 3.7)
hashdict get: 4.2 us ( 2.1), set: 15.4 us ( 3.6)
hashtl get: 4.4 us ( 2.2), set: 7.5 us ( 1.7)
map get: 2.1 us ( 1.1), set: 4.3 us ( 1.0)
process dictionary get: 2.0 us ( 1.0), set: 14.0 us ( 3.3)
rbdict get: 2.3 us ( 1.2), set: 7.1 us ( 1.7)
trie get: 2.9 us ( 1.5), set: 15.0 us ( 3.5)
N == 100 (10 runs)
aadict get: 43.5 us ( 1.5), set: 116.3 us ( 1.5)
btrie (binaries) get: 48.8 us ( 1.7), set: 153.9 us ( 2.0)
dict get: 63.1 us ( 2.2), set: 145.2 us ( 1.9)
ets (ordered_set) get: 67.6 us ( 2.4), set: 95.2 us ( 1.2)
ets (set) get: 50.8 us ( 1.8), set: 86.8 us ( 1.1)
ets x10 read (ordere get: 78.4 us ( 2.8)
ets x10 read (set) get: 72.3 us ( 2.6)
gb_trees get: 51.6 us ( 1.8), set: 160.7 us ( 2.1)
hashdict get: 48.0 us ( 1.7), set: 134.2 us ( 1.8)
hashtl get: 46.9 us ( 1.7), set: 76.2 us ( 1.0)
map get: 38.8 us ( 1.4), set: 77.6 us ( 1.0)
process dictionary get: 30.9 us ( 1.1), set: 91.8 us ( 1.2)
rbdict get: 43.5 us ( 1.5), set: 97.1 us ( 1.3)
trie get: 28.1 us ( 1.0), set: 139.2 us ( 1.8)
N == 1000 (10 runs)
aadict get: 781.3 us ( 1.9), set: 1872.1 us ( 2.6)
btrie (binaries) get: 678.5 us ( 1.6), set: 2268.6 us ( 3.2)
dict get: 726.0 us ( 1.7), set: 2282.9 us ( 3.2)
ets (ordered_set) get: 856.2 us ( 2.0), set: 1340.2 us ( 1.9)
ets (set) get: 631.6 us ( 1.5), set: 1090.5 us ( 1.5)
ets x10 read (ordere get: 861.9 us ( 2.1)
ets x10 read (set) get: 750.1 us ( 1.8)
gb_trees get: 878.2 us ( 2.1), set: 2482.3 us ( 3.5)
hashdict get: 639.9 us ( 1.5), set: 1750.2 us ( 2.5)
hashtl get: 888.2 us ( 2.1), set: 1077.3 us ( 1.5)
map get: 447.1 us ( 1.1), set: 713.0 us ( 1.0)
process dictionary get: 419.3 us ( 1.0), set: 1154.9 us ( 1.6)
rbdict get: 760.1 us ( 1.8), set: 1567.0 us ( 2.2)
trie get: 427.7 us ( 1.0), set: 1617.9 us ( 2.3)
N == 10000 (10 runs)
aadict get: 15790.9 us ( 1.7), set: 33361.6 us ( 2.6)
btrie (binaries) get: 10517.8 us ( 1.2), set: 40066.8 us ( 3.1)
dict get: 12252.1 us ( 1.3), set: 39137.2 us ( 3.1)
ets (ordered_set) get: 15763.3 us ( 1.7), set: 20658.1 us ( 1.6)
ets (set) get: 13412.5 us ( 1.5), set: 16737.0 us ( 1.3)
ets x10 read (ordere get: 11552.6 us ( 1.3)
ets x10 read (set) get: 9753.9 us ( 1.1)
gb_trees get: 17414.6 us ( 1.9), set: 41245.6 us ( 3.2)
hashdict get: 12479.7 us ( 1.4), set: 20950.3 us ( 1.6)
hashtl get: 13879.3 us ( 1.5), set: 19670.0 us ( 1.5)
map get: 9637.4 us ( 1.1), set: 12831.5 us ( 1.0)
process dictionary get: 9110.0 us ( 1.0), set: 19289.9 us ( 1.5)
rbdict get: 15421.1 us ( 1.7), set: 27484.5 us ( 2.1)
trie get: 9804.1 us ( 1.1), set: 29574.4 us ( 2.3)
N == 100000 (10 runs)
aadict get: 317242.8 us ( 3.5), set: 557997.1 us ( 3.3)
btrie (binaries) get: 229746.8 us ( 2.5), set: 670898.2 us ( 4.0)
dict get: 153808.8 us ( 1.7), set: 707999.2 us ( 4.2)
ets (ordered_set) get: 198780.6 us ( 2.2), set: 238294.3 us ( 1.4)
ets (set) get: 121909.6 us ( 1.3), set: 169034.1 us ( 1.0)
ets x10 read (ordere get: 117703.1 us ( 1.3)
ets x10 read (set) get: 94721.9 us ( 1.0)
gb_trees get: 366768.6 us ( 4.0), set: 656803.7 us ( 3.9)
hashdict get: 151785.9 us ( 1.7), set: 255456.8 us ( 1.5)
hashtl get: 150653.3 us ( 1.7), set: 180124.3 us ( 1.1)
map get: 112601.2 us ( 1.2), set: 175188.8 us ( 1.0)
process dictionary get: 91015.5 us ( 1.0), set: 178710.3 us ( 1.1)
rbdict get: 315898.2 us ( 3.5), set: 469335.5 us ( 2.8)
trie get: 160209.8 us ( 1.8), set: 603416.7 us ( 3.6)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment