Skip to content

Commit

Permalink
Update Benchmarks for 2020
Browse files Browse the repository at this point in the history
Compiler: GHC 8.8.3
Run: `cabal run benchmarks -- --csv output.csv && ./Report.hs output.csv`
RAM: 32GB (4*8GB) DDR4 3600 MT/s

CPU information (retrieved by `lscpu`)
Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
Address sizes:       43 bits physical, 48 bits virtual
CPU(s):              16
On-line CPU(s) list: 0-15
Thread(s) per core:  2
Core(s) per socket:  8
Socket(s):           1
NUMA node(s):        1
Vendor ID:           AuthenticAMD
CPU family:          23
Model:               113
Model name:          AMD Ryzen 7 3800X 8-Core Processor
Stepping:            0
CPU MHz:             3722.619
CPU max MHz:         3900.0000
CPU min MHz:         2200.0000
BogoMIPS:            7800.41
Virtualization:      AMD-V
L1d cache:           32K
L1i cache:           32K
L2 cache:            512K
L3 cache:            16384K
NUMA node0 CPU(s):   0-15
Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate sme ssbd mba sev ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif umip rdpid overflow_recov succor smca
  • Loading branch information
fendor committed Jul 10, 2020
1 parent c5a7076 commit 2a29d30
Showing 1 changed file with 52 additions and 51 deletions.
103 changes: 52 additions & 51 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,95 +54,96 @@ For just time:

|Name|10|100|1000|10000|
|---|---|---|---|---|
|Data.Map.Lazy|532.6 ns|10.95 μs|246.3 μs|3.888 ms|
|Data.Map.Strict|613.7 ns|12.86 μs|251.6 μs|4.337 ms|
|Data.HashMap.Lazy|448.1 ns|6.475 μs|112.9 μs|3.681 ms|
|Data.HashMap.Strict|482.3 ns|6.147 μs|107.7 μs|3.578 ms|
|Data.IntMap.Lazy|207.8 ns|3.459 μs|50.05 μs|1.695 ms|
|Data.IntMap.Strict|239.8 ns|3.955 μs|62.72 μs|1.824 ms|
|Data.Map.Lazy|391.1 ns|7.593 μs|133.2 μs|2.259 ms|
|Data.Map.Strict|459.3 ns|9.280 μs|159.6 μs|2.655 ms|
|Data.HashMap.Lazy|257.7 ns|3.512 μs|51.26 μs|1.455 ms|
|Data.HashMap.Strict|256.3 ns|3.488 μs|50.74 μs|1.436 ms|
|Data.IntMap.Lazy|142.8 ns|2.208 μs|31.69 μs|0.883 ms|
|Data.IntMap.Strict|170.2 ns|2.873 μs|40.80 μs|0.982 ms|

## IO Insert Int (Randomized)

|Name|10|100|1000|10000|
|---|---|---|---|---|
|Data.HashTable.IO.BasicHashTable|1501 ns|12.87 μs|132.3 μs|2.628 ms|
|Data.HashTable.IO.LinearHashTable|914.0 ns|9.915 μs|111.9 μs|1.024 ms|
|Data.HashTable.IO.CuckooHashTable|1027 ns|10.35 μs|104.2 μs|1.562 ms|
|Data.HashTable.IO.BasicHashTable|294.3 ns|2.744 μs|27.98 μs|391.2 μs|
|Data.HashTable.IO.LinearHashTable|656.8 ns|6.798 μs|72.90 μs|618.7 μs|
|Data.HashTable.IO.CuckooHashTable|780.9 ns|7.374 μs|73.74 μs|793.3 μs|

## Intersection (Randomized)

|Name|10|100|1000|10000|100000|1000000|
|---|---|---|---|---|---|---|
|Data.Map.Lazy|1049 ns|12.60 μs|156.2 μs|1578 μs|21.66 ms|197.8 ms|
|Data.Map.Strict|1042 ns|13.67 μs|151.5 μs|1602 μs|19.97 ms|203.0 ms|
|Data.HashMap.Lazy|177.2 ns|2.213 μs|30.00 μs|357.9 μs|5.128 ms|51.95 ms|
|Data.HashMap.Strict|179.3 ns|2.471 μs|30.19 μs|358.4 μs|5.284 ms|51.65 ms|
|Data.IntMap.Lazy|94.40 ns|0.620 μs|6.229 μs|163.0 μs|4.011 ms|33.22 ms|
|Data.IntMap.Strict|95.13 ns|0.617 μs|6.444 μs|164.8 μs|3.684 ms|32.42 ms|
|Data.Map.Lazy|415.1 ns|4.775 μs|60.80 μs|745.7 μs|12.67 ms|145.8 ms|
|Data.Map.Strict|418.2 ns|4.784 μs|59.34 μs|696.5 μs|7.464 ms|84.36 ms|
|Data.HashMap.Lazy|106.7 ns|1.222 μs|16.92 μs|216.0 μs|2.535 ms|32.71 ms|
|Data.HashMap.Strict|104.4 ns|1.237 μs|16.94 μs|214.7 μs|2.590 ms|32.82 ms|
|Data.IntMap.Lazy|73.82 ns|0.455 μs|4.686 μs|116.9 μs|1.321 ms|18.86 ms|
|Data.IntMap.Strict|73.30 ns|0.457 μs|4.801 μs|114.2 μs|1.296 ms|19.30 ms|

## IO Intersection (Randomized)

|Name|10|100|1000|10000|
|---|---|---|---|---|
|Data.HashTable.IO.BasicHashTable|2.470 μs|44.41 μs|648.0 μs|8.616 ms|
|Data.HashTable.IO.LinearHashTable|3.064 μs|40.86 μs|471.9 μs|8.734 ms|
|Data.HashTable.IO.CuckooHashTable|3.598 μs|48.18 μs|1206 μs|14.65 ms|
|Name|10|100|1000|10000|100000|
|---|---|---|---|---|---|
|Data.HashTable.IO.BasicHashTable|173.2 ns|1.341 μs|16.60 μs|332.4 μs|5.509 ms|
|Data.HashTable.IO.LinearHashTable|251.1 ns|2.340 μs|25.22 μs|296.9 μs|9.320 ms|
|Data.HashTable.IO.CuckooHashTable|965.2 ns|8.462 μs|82.40 μs|873.5 μs|12.24 ms|

## Lookup Int (Randomized)

|Name|10|100|1000|10000|100000|1000000|
|---|---|---|---|---|---|---|
|Data.Map.Lazy|113.9 ns|1.697 μs|67.91 μs|1225 μs|21.89 ms|556.1 ms|
|Data.Map.Strict|113.5 ns|1.782 μs|67.75 μs|1258 μs|21.68 ms|543.4 ms|
|Data.HashMap.Lazy|156.9 ns|2.151 μs|31.06 μs|531.4 μs|17.10 ms|339.4 ms|
|Data.HashMap.Strict|166.1 ns|2.157 μs|27.52 μs|517.6 μs|16.62 ms|335.9 ms|
|Data.IntMap.Lazy|138.7 ns|1.830 μs|71.38 μs|1203 μs|24.10 ms|649.5 ms|
|Data.IntMap.Strict|138.6 ns|1.835 μs|70.28 μs|1192 μs|25.18 ms|629.8 ms|
|Data.Map.Lazy|112.1 ns|1.670 μs|50.01 μs|971.8 μs|15.15 ms|444.9 ms|
|Data.Map.Strict|109.6 ns|1.661 μs|50.45 μs|948.4 μs|15.48 ms|460.6 ms|
|Data.HashMap.Lazy|143.1 ns|1.565 μs|19.14 μs|375.2 μs|7.050 ms|315.5 ms|
|Data.HashMap.Strict|142.4 ns|1.571 μs|19.20 μs|371.0 μs|6.953 ms|315.1 ms|
|Data.IntMap.Lazy|110.2 ns|1.617 μs|51.70 μs|838.9 μs|13.80 ms|487.3 ms|
|Data.IntMap.Strict|109.2 ns|1.616 μs|51.33 μs|853.0 μs|13.80 ms|485.6 ms|

## IO Lookup Int (Randomized)

|Name|10|100|1000|10000|100000|1000000|
|---|---|---|---|---|---|---|
|Data.HashTable.IO.BasicHashTable|24.26 ns|32.13 ns|26.87 ns|24.60 ns|24.56 ns|23.71 ns|
|Data.HashTable.IO.LinearHashTable|55.54 ns|52.75 ns|55.70 ns|49.12 ns|54.17 ns|304.5 ns|
|Data.HashTable.IO.CuckooHashTable|59.44 ns|52.11 ns|52.30 ns|53.48 ns|51.75 ns|52.33 ns|
|Data.HashTable.IO.BasicHashTable|16.34 ns|16.25 ns|14.96 ns|14.96 ns|14.80 ns|14.97 ns|
|Data.HashTable.IO.LinearHashTable|51.36 ns|58.83 ns|63.27 ns|51.58 ns|108.3 ns|94.87 ns|
|Data.HashTable.IO.CuckooHashTable|56.14 ns|56.23 ns|56.12 ns|55.99 ns|55.04 ns|55.03 ns|

## FromList ByteString (Monotonic)

|Name|10000|
|---|---|
|Data.Map.Lazy|5.672 ms|
|Data.Map.Strict|6.056 ms|
|Data.HashMap.Lazy|3.099 ms|
|Data.HashMap.Strict|3.357 ms|
|Data.Trie|15.65 ms|
|Data.Map.Lazy|3.172 ms|
|Data.Map.Strict|3.889 ms|
|Data.HashMap.Lazy|1.438 ms|
|Data.HashMap.Strict|1.478 ms|
|Data.Trie|8.520 ms|

## FromList ByteString (Randomized)

|Name|10|100|1000|10000|
|---|---|---|---|---|
|Data.Map.Lazy|738.9 ns|17.80 μs|395.1 μs|11.27 ms|
|Data.Map.Strict|846.4 ns|19.68 μs|434.6 μs|10.94 ms|
|Data.HashMap.Lazy|680.0 ns|9.739 μs|148.0 μs|4.352 ms|
|Data.HashMap.Strict|709.0 ns|9.864 μs|150.8 μs|4.707 ms|
|Data.Trie|1062 ns|24.88 μs|1427 μs|25.57 ms|
|Data.Map.Lazy|530.5 ns|11.14 μs|222.1 μs|4.326 ms|
|Data.Map.Strict|605.8 ns|13.22 μs|239.5 μs|4.890 ms|
|Data.HashMap.Lazy|467.0 ns|6.268 μs|86.92 μs|1.837 ms|
|Data.HashMap.Strict|483.0 ns|6.432 μs|88.95 μs|1.867 ms|
|Data.Trie|900.6 ns|15.26 μs|361.9 μs|14.26 ms|

## LookupByteString Monotonic
## Lookup ByteString Monotonic

|Name|10000|
|---|---|
|Data.Map.Lazy|196.2 ns|
|Data.Map.Strict|198.6 ns|
|Data.HashMap.Lazy|45.37 ns|
|Data.HashMap.Strict|45.69 ns|
|Data.Trie|220.2 ns|
|Data.Map.Lazy|81.83 ns|
|Data.Map.Strict|82.45 ns|
|Data.HashMap.Lazy|27.36 ns|
|Data.HashMap.Strict|26.94 ns|
|Data.Trie|151.7 ns|

## LookupByteString Randomized
## Lookup ByteString Randomized

|Name|10000|
|---|---|
|Data.Map.Lazy|218.7 ns|
|Data.Map.Strict|217.0 ns|
|Data.HashMap.Lazy|59.10 ns|
|Data.HashMap.Strict|59.01 ns|
|Data.Trie|273.3 ns|
|Data.Map.Lazy|1.927 ms|
|Data.Map.Strict|1.870 ms|
|Data.HashMap.Lazy|0.660 ms|
|Data.HashMap.Strict|0.655 ms|
|Data.Trie|2.423 ms|

0 comments on commit 2a29d30

Please sign in to comment.