Skip to content

Instantly share code, notes, and snippets.

@RyanGlScott
Last active February 23, 2017 15:15
Show Gist options
  • Save RyanGlScott/d4e30061a54cf05a23a8f43464f5070d to your computer and use it in GitHub Desktop.
Save RyanGlScott/d4e30061a54cf05a23a8f43464f5070d to your computer and use it in GitHub Desktop.
hashable: inlinePerformIO (current) vs. unsafeDupablePerformIO (proposed)
$ cabal bench
Preprocessing benchmark 'benchmarks' for hashable-1.2.5.0...
Running 1 benchmarks...
Benchmark benchmarks: RUNNING...
benchmarking hashPtr/5
time 3.960 ns (3.959 ns .. 3.961 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 3.960 ns (3.959 ns .. 3.962 ns)
std dev 3.764 ps (2.231 ps .. 5.785 ps)
benchmarking hashPtr/8
time 5.545 ns (5.543 ns .. 5.547 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 5.545 ns (5.544 ns .. 5.551 ns)
std dev 9.433 ps (4.538 ps .. 20.22 ps)
benchmarking hashPtr/11
time 7.128 ns (7.127 ns .. 7.131 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 7.132 ns (7.128 ns .. 7.147 ns)
std dev 20.86 ps (5.998 ps .. 46.02 ps)
benchmarking hashPtr/40
time 29.81 ns (29.74 ns .. 29.86 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 29.87 ns (29.82 ns .. 29.93 ns)
std dev 197.9 ps (135.3 ps .. 278.8 ps)
benchmarking hashPtr/128
time 120.3 ns (120.1 ns .. 120.7 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 120.3 ns (120.2 ns .. 120.6 ns)
std dev 619.5 ps (316.3 ps .. 1.087 ns)
benchmarking hashPtr/512
time 525.9 ns (525.6 ns .. 526.1 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 525.7 ns (525.6 ns .. 526.0 ns)
std dev 638.1 ps (530.2 ps .. 821.2 ps)
benchmarking hashPtr/2^20
time 1.108 ms (1.107 ms .. 1.108 ms)
1.000 R² (1.000 R² .. 1.000 R²)
mean 1.107 ms (1.107 ms .. 1.108 ms)
std dev 1.108 μs (817.0 ns .. 1.543 μs)
benchmarking hashByteArray/5
time 10.68 ns (10.68 ns .. 10.68 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 10.68 ns (10.68 ns .. 10.68 ns)
std dev 9.167 ps (5.272 ps .. 14.51 ps)
benchmarking hashByteArray/8
time 12.24 ns (12.23 ns .. 12.24 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 12.23 ns (12.23 ns .. 12.24 ns)
std dev 9.752 ps (7.942 ps .. 11.72 ps)
benchmarking hashByteArray/11
time 13.21 ns (13.19 ns .. 13.24 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 13.21 ns (13.20 ns .. 13.25 ns)
std dev 63.66 ps (31.62 ps .. 134.9 ps)
benchmarking hashByteArray/40
time 36.92 ns (36.76 ns .. 37.07 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 36.95 ns (36.82 ns .. 37.08 ns)
std dev 465.7 ps (391.0 ps .. 532.6 ps)
variance introduced by outliers: 14% (moderately inflated)
benchmarking hashByteArray/128
time 130.0 ns (129.8 ns .. 130.3 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 129.9 ns (129.8 ns .. 130.0 ns)
std dev 405.6 ps (268.9 ps .. 577.1 ps)
benchmarking hashByteArray/512
time 535.5 ns (535.4 ns .. 535.7 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 535.5 ns (535.4 ns .. 535.8 ns)
std dev 731.5 ps (485.0 ps .. 1.064 ns)
benchmarking hashByteArray/2^20
time 1.110 ms (1.108 ms .. 1.114 ms)
1.000 R² (1.000 R² .. 1.000 R²)
mean 1.109 ms (1.108 ms .. 1.111 ms)
std dev 4.093 μs (1.501 μs .. 7.470 μs)
benchmarking hash/ByteString/strict/5
time 8.294 ns (8.274 ns .. 8.325 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 8.283 ns (8.273 ns .. 8.304 ns)
std dev 43.09 ps (7.780 ps .. 72.88 ps)
benchmarking hash/ByteString/strict/8
time 9.895 ns (9.891 ns .. 9.899 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 9.895 ns (9.892 ns .. 9.899 ns)
std dev 12.20 ps (7.149 ps .. 19.47 ps)
benchmarking hash/ByteString/strict/11
time 11.50 ns (11.50 ns .. 11.50 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 11.50 ns (11.50 ns .. 11.51 ns)
std dev 13.64 ps (9.934 ps .. 20.59 ps)
benchmarking hash/ByteString/strict/40
time 35.31 ns (35.24 ns .. 35.39 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 35.37 ns (35.29 ns .. 35.50 ns)
std dev 337.6 ps (205.3 ps .. 523.1 ps)
benchmarking hash/ByteString/strict/128
time 127.4 ns (127.3 ns .. 127.7 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 127.4 ns (127.3 ns .. 127.6 ns)
std dev 483.2 ps (283.8 ps .. 733.3 ps)
benchmarking hash/ByteString/strict/512
time 533.7 ns (532.9 ns .. 534.8 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 533.3 ns (532.9 ns .. 533.9 ns)
std dev 1.409 ns (844.0 ps .. 2.148 ns)
benchmarking hash/ByteString/strict/2^20
time 1.055 ms (1.055 ms .. 1.056 ms)
1.000 R² (1.000 R² .. 1.000 R²)
mean 1.060 ms (1.058 ms .. 1.064 ms)
std dev 9.104 μs (6.212 μs .. 12.32 μs)
benchmarking hash/ByteString/lazy/5
time 11.19 ns (11.18 ns .. 11.20 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 11.19 ns (11.18 ns .. 11.22 ns)
std dev 63.67 ps (32.57 ps .. 97.17 ps)
benchmarking hash/ByteString/lazy/8
time 12.49 ns (12.49 ns .. 12.50 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 12.50 ns (12.49 ns .. 12.50 ns)
std dev 16.58 ps (10.52 ps .. 24.95 ps)
benchmarking hash/ByteString/lazy/11
time 14.12 ns (14.09 ns .. 14.15 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 14.14 ns (14.11 ns .. 14.18 ns)
std dev 117.0 ps (74.89 ps .. 155.1 ps)
benchmarking hash/ByteString/lazy/40
time 37.20 ns (36.84 ns .. 37.57 ns)
0.999 R² (0.999 R² .. 1.000 R²)
mean 37.46 ns (37.16 ns .. 37.68 ns)
std dev 842.0 ps (671.3 ps .. 1000.0 ps)
variance introduced by outliers: 34% (moderately inflated)
benchmarking hash/ByteString/lazy/128
time 129.5 ns (129.5 ns .. 129.6 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 129.6 ns (129.5 ns .. 129.8 ns)
std dev 319.2 ps (169.6 ps .. 536.9 ps)
benchmarking hash/ByteString/lazy/512
time 535.1 ns (534.9 ns .. 535.3 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 535.1 ns (535.0 ns .. 535.4 ns)
std dev 716.6 ps (432.2 ps .. 1.118 ns)
benchmarking hash/ByteString/lazy/2^20_40
time 1.144 ms (1.144 ms .. 1.145 ms)
1.000 R² (1.000 R² .. 1.000 R²)
mean 1.147 ms (1.146 ms .. 1.151 ms)
std dev 7.114 μs (3.438 μs .. 11.59 μs)
benchmarking hash/ByteString/lazy/2^20_128
time 1.120 ms (1.120 ms .. 1.121 ms)
1.000 R² (1.000 R² .. 1.000 R²)
mean 1.121 ms (1.121 ms .. 1.123 ms)
std dev 4.188 μs (2.212 μs .. 6.738 μs)
benchmarking hash/ByteString/lazy/2^20_64k
time 1.108 ms (1.106 ms .. 1.111 ms)
1.000 R² (1.000 R² .. 1.000 R²)
mean 1.114 ms (1.111 ms .. 1.119 ms)
std dev 12.21 μs (9.672 μs .. 14.22 μs)
benchmarking hash/String/5
time 42.57 ns (42.53 ns .. 42.61 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 42.61 ns (42.54 ns .. 42.74 ns)
std dev 309.7 ps (170.8 ps .. 472.8 ps)
benchmarking hash/String/8
time 62.70 ns (62.66 ns .. 62.74 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 62.68 ns (62.59 ns .. 62.73 ns)
std dev 231.0 ps (106.5 ps .. 382.4 ps)
benchmarking hash/String/11
time 80.35 ns (80.22 ns .. 80.49 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 80.51 ns (80.33 ns .. 80.71 ns)
std dev 613.1 ps (423.6 ps .. 961.1 ps)
benchmarking hash/String/40
time 278.2 ns (278.1 ns .. 278.3 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 278.2 ns (278.1 ns .. 278.3 ns)
std dev 255.3 ps (198.7 ps .. 328.2 ps)
benchmarking hash/String/128
time 875.7 ns (875.5 ns .. 875.9 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 875.9 ns (875.7 ns .. 876.1 ns)
std dev 720.4 ps (555.7 ps .. 1.077 ns)
benchmarking hash/String/512
time 3.487 μs (3.486 μs .. 3.489 μs)
1.000 R² (1.000 R² .. 1.000 R²)
mean 3.490 μs (3.488 μs .. 3.492 μs)
std dev 6.917 ns (4.412 ns .. 10.48 ns)
benchmarking hash/String/2^20
time 7.842 ms (7.840 ms .. 7.844 ms)
1.000 R² (1.000 R² .. 1.000 R²)
mean 7.844 ms (7.841 ms .. 7.847 ms)
std dev 8.082 μs (5.668 μs .. 11.55 μs)
benchmarking hash/Text/strict/5
time 10.49 ns (10.48 ns .. 10.51 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 10.48 ns (10.48 ns .. 10.50 ns)
std dev 26.20 ps (9.408 ps .. 44.14 ps)
benchmarking hash/Text/strict/8
time 16.12 ns (15.94 ns .. 16.26 ns)
0.999 R² (0.998 R² .. 0.999 R²)
mean 16.17 ns (15.93 ns .. 16.34 ns)
std dev 679.0 ps (567.5 ps .. 876.3 ps)
variance introduced by outliers: 66% (severely inflated)
benchmarking hash/Text/strict/11
time 19.25 ns (19.24 ns .. 19.25 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 19.24 ns (19.24 ns .. 19.25 ns)
std dev 15.60 ps (11.36 ps .. 22.14 ps)
benchmarking hash/Text/strict/40
time 77.18 ns (77.16 ns .. 77.20 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 77.18 ns (77.16 ns .. 77.21 ns)
std dev 75.66 ps (58.86 ps .. 98.79 ps)
benchmarking hash/Text/strict/128
time 263.1 ns (263.0 ns .. 263.2 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 263.0 ns (263.0 ns .. 263.2 ns)
std dev 305.0 ps (191.4 ps .. 502.7 ps)
benchmarking hash/Text/strict/512
time 1.074 μs (1.074 μs .. 1.075 μs)
1.000 R² (1.000 R² .. 1.000 R²)
mean 1.074 μs (1.074 μs .. 1.075 μs)
std dev 1.548 ns (1.116 ns .. 2.065 ns)
benchmarking hash/Text/strict/2^20
time 4.090 ms (4.085 ms .. 4.102 ms)
1.000 R² (1.000 R² .. 1.000 R²)
mean 4.098 ms (4.091 ms .. 4.111 ms)
std dev 29.86 μs (18.72 μs .. 43.01 μs)
benchmarking hash/Text/lazy/5
time 12.34 ns (12.31 ns .. 12.38 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 12.32 ns (12.31 ns .. 12.36 ns)
std dev 89.11 ps (52.29 ps .. 129.1 ps)
benchmarking hash/Text/lazy/8
time 17.58 ns (17.35 ns .. 17.84 ns)
0.999 R² (0.998 R² .. 0.999 R²)
mean 17.68 ns (17.44 ns .. 17.90 ns)
std dev 762.1 ps (652.7 ps .. 877.7 ps)
variance introduced by outliers: 67% (severely inflated)
benchmarking hash/Text/lazy/11
time 22.30 ns (22.19 ns .. 22.43 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 22.32 ns (22.19 ns .. 22.41 ns)
std dev 351.7 ps (274.1 ps .. 464.0 ps)
variance introduced by outliers: 21% (moderately inflated)
benchmarking hash/Text/lazy/40
time 77.28 ns (77.14 ns .. 77.39 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 77.25 ns (77.16 ns .. 77.38 ns)
std dev 376.9 ps (283.1 ps .. 608.2 ps)
benchmarking hash/Text/lazy/128
time 265.3 ns (265.1 ns .. 265.5 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 265.3 ns (265.1 ns .. 265.8 ns)
std dev 984.4 ps (301.2 ps .. 1.643 ns)
benchmarking hash/Text/lazy/512
time 1.084 μs (1.083 μs .. 1.086 μs)
1.000 R² (1.000 R² .. 1.000 R²)
mean 1.083 μs (1.082 μs .. 1.086 μs)
std dev 4.435 ns (1.086 ns .. 9.219 ns)
benchmarking hash/Text/lazy/2^20_40
time 2.250 ms (2.249 ms .. 2.250 ms)
1.000 R² (1.000 R² .. 1.000 R²)
mean 2.250 ms (2.250 ms .. 2.251 ms)
std dev 1.900 μs (1.494 μs .. 2.409 μs)
benchmarking hash/Text/lazy/2^20_128
time 2.226 ms (2.226 ms .. 2.227 ms)
1.000 R² (1.000 R² .. 1.000 R²)
mean 2.226 ms (2.226 ms .. 2.228 ms)
std dev 2.726 μs (1.421 μs .. 4.988 μs)
benchmarking hash/Text/lazy/2^20_64k
time 2.215 ms (2.214 ms .. 2.216 ms)
1.000 R² (1.000 R² .. 1.000 R²)
mean 2.216 ms (2.215 ms .. 2.217 ms)
std dev 2.798 μs (2.029 μs .. 4.141 μs)
benchmarking hash/Int8
time 4.737 ns (4.690 ns .. 4.774 ns)
1.000 R² (0.999 R² .. 1.000 R²)
mean 4.745 ns (4.709 ns .. 4.771 ns)
std dev 106.0 ps (71.42 ps .. 144.6 ps)
variance introduced by outliers: 37% (moderately inflated)
benchmarking hash/Int16
time 4.667 ns (4.616 ns .. 4.721 ns)
0.999 R² (0.999 R² .. 1.000 R²)
mean 4.683 ns (4.645 ns .. 4.719 ns)
std dev 130.1 ps (111.8 ps .. 156.4 ps)
variance introduced by outliers: 48% (moderately inflated)
benchmarking hash/Int32
time 4.720 ns (4.681 ns .. 4.751 ns)
0.999 R² (0.999 R² .. 1.000 R²)
mean 4.704 ns (4.650 ns .. 4.744 ns)
std dev 151.6 ps (108.8 ps .. 210.1 ps)
variance introduced by outliers: 55% (severely inflated)
benchmarking hash/Int
time 5.795 ns (5.788 ns .. 5.807 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 5.797 ns (5.791 ns .. 5.812 ns)
std dev 31.24 ps (18.16 ps .. 48.27 ps)
benchmarking hash/Int64
time 4.523 ns (4.497 ns .. 4.545 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 4.509 ns (4.484 ns .. 4.530 ns)
std dev 77.02 ps (63.47 ps .. 93.65 ps)
variance introduced by outliers: 26% (moderately inflated)
benchmarking hash/Double
time 11.89 ns (11.89 ns .. 11.90 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 11.90 ns (11.89 ns .. 11.90 ns)
std dev 15.82 ps (11.28 ps .. 21.35 ps)
benchmarking sipHash/5
time 28.59 ns (28.43 ns .. 28.74 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 28.60 ns (28.48 ns .. 28.74 ns)
std dev 470.1 ps (394.0 ps .. 623.3 ps)
variance introduced by outliers: 22% (moderately inflated)
benchmarking sipHash/8
time 32.80 ns (32.79 ns .. 32.81 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 32.80 ns (32.79 ns .. 32.81 ns)
std dev 37.16 ps (26.07 ps .. 57.59 ps)
benchmarking sipHash/11
time 33.06 ns (33.05 ns .. 33.08 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 33.06 ns (33.05 ns .. 33.07 ns)
std dev 33.03 ps (22.40 ps .. 48.25 ps)
benchmarking sipHash/40
time 52.74 ns (52.72 ns .. 52.76 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 52.73 ns (52.72 ns .. 52.76 ns)
std dev 64.16 ps (44.98 ps .. 100.8 ps)
benchmarking sipHash/128
time 108.3 ns (108.3 ns .. 108.4 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 108.3 ns (108.2 ns .. 108.4 ns)
std dev 219.8 ps (154.5 ps .. 301.4 ps)
benchmarking sipHash/512
time 354.5 ns (353.7 ns .. 355.3 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 353.7 ns (353.2 ns .. 354.4 ns)
std dev 2.086 ns (1.761 ns .. 2.557 ns)
benchmarking sipHash/2^20
time 636.4 μs (636.0 μs .. 636.9 μs)
1.000 R² (1.000 R² .. 1.000 R²)
mean 637.4 μs (636.6 μs .. 638.9 μs)
std dev 3.761 μs (2.030 μs .. 5.741 μs)
benchmarking cSipHash/5
time 17.40 ns (17.38 ns .. 17.43 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 17.39 ns (17.38 ns .. 17.41 ns)
std dev 48.24 ps (19.64 ps .. 86.43 ps)
benchmarking cSipHash/8
time 19.05 ns (18.95 ns .. 19.15 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 18.95 ns (18.93 ns .. 19.00 ns)
std dev 116.5 ps (61.49 ps .. 171.7 ps)
benchmarking cSipHash/11
time 20.22 ns (20.13 ns .. 20.32 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 20.18 ns (20.15 ns .. 20.25 ns)
std dev 152.5 ps (101.4 ps .. 213.4 ps)
benchmarking cSipHash/40
time 31.45 ns (31.44 ns .. 31.46 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 31.47 ns (31.45 ns .. 31.48 ns)
std dev 49.72 ps (36.34 ps .. 74.90 ps)
benchmarking cSipHash/128
time 68.28 ns (68.06 ns .. 68.51 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 68.36 ns (68.11 ns .. 68.55 ns)
std dev 746.8 ps (586.8 ps .. 946.6 ps)
variance introduced by outliers: 10% (moderately inflated)
benchmarking cSipHash/512
time 220.0 ns (218.8 ns .. 221.4 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 221.1 ns (220.1 ns .. 222.0 ns)
std dev 3.296 ns (2.930 ns .. 3.628 ns)
variance introduced by outliers: 16% (moderately inflated)
benchmarking cSipHash/2^20
time 378.1 μs (375.8 μs .. 380.6 μs)
1.000 R² (1.000 R² .. 1.000 R²)
mean 376.3 μs (375.7 μs .. 377.3 μs)
std dev 2.731 μs (1.673 μs .. 3.873 μs)
benchmarking cSipHash24/5
time 16.71 ns (16.70 ns .. 16.72 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 16.70 ns (16.70 ns .. 16.71 ns)
std dev 17.40 ps (11.87 ps .. 23.36 ps)
benchmarking cSipHash24/8
time 18.12 ns (18.11 ns .. 18.12 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 18.12 ns (18.11 ns .. 18.13 ns)
std dev 34.07 ps (15.80 ps .. 68.17 ps)
benchmarking cSipHash24/11
time 19.22 ns (19.12 ns .. 19.32 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 19.15 ns (19.13 ns .. 19.20 ns)
std dev 113.4 ps (47.21 ps .. 182.7 ps)
benchmarking cSipHash24/40
time 30.34 ns (30.32 ns .. 30.38 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 30.33 ns (30.32 ns .. 30.35 ns)
std dev 43.07 ps (28.61 ps .. 69.99 ps)
benchmarking cSipHash24/128
time 65.99 ns (65.86 ns .. 66.09 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 65.96 ns (65.85 ns .. 66.07 ns)
std dev 356.8 ps (277.6 ps .. 433.8 ps)
benchmarking cSipHash24/512
time 217.8 ns (217.2 ns .. 218.6 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 217.6 ns (217.2 ns .. 218.4 ns)
std dev 1.757 ns (1.145 ns .. 2.554 ns)
benchmarking cSipHash24/2^20
time 384.7 μs (384.5 μs .. 384.9 μs)
1.000 R² (1.000 R² .. 1.000 R²)
mean 386.5 μs (385.6 μs .. 387.8 μs)
std dev 3.651 μs (2.412 μs .. 4.490 μs)
benchmarking sse2SipHash/5
time 22.75 ns (22.74 ns .. 22.76 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 22.75 ns (22.75 ns .. 22.77 ns)
std dev 28.95 ps (19.26 ps .. 48.07 ps)
benchmarking sse2SipHash/8
time 26.95 ns (26.94 ns .. 26.96 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 26.96 ns (26.95 ns .. 26.98 ns)
std dev 43.51 ps (26.50 ps .. 74.07 ps)
benchmarking sse2SipHash/11
time 26.96 ns (26.95 ns .. 26.98 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 26.97 ns (26.95 ns .. 27.01 ns)
std dev 88.91 ps (31.00 ps .. 145.8 ps)
benchmarking sse2SipHash/40
time 46.44 ns (46.43 ns .. 46.46 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 46.46 ns (46.44 ns .. 46.50 ns)
std dev 87.67 ps (57.68 ps .. 137.3 ps)
benchmarking sse2SipHash/128
time 102.3 ns (102.0 ns .. 102.5 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 102.2 ns (102.1 ns .. 102.4 ns)
std dev 638.1 ps (542.7 ps .. 724.2 ps)
benchmarking sse2SipHash/512
time 341.8 ns (341.5 ns .. 342.2 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 341.8 ns (341.6 ns .. 342.4 ns)
std dev 1.110 ns (458.3 ps .. 2.250 ns)
benchmarking sse2SipHash/2^20
time 621.1 μs (620.8 μs .. 621.5 μs)
1.000 R² (1.000 R² .. 1.000 R²)
mean 622.9 μs (621.7 μs .. 624.9 μs)
std dev 4.897 μs (2.860 μs .. 6.932 μs)
benchmarking pkgSipHash/5
time 43.11 ns (43.09 ns .. 43.12 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 43.10 ns (43.09 ns .. 43.12 ns)
std dev 51.83 ps (41.07 ps .. 71.76 ps)
benchmarking pkgSipHash/8
time 49.88 ns (49.87 ns .. 49.89 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 49.88 ns (49.87 ns .. 49.90 ns)
std dev 54.05 ps (37.06 ps .. 76.66 ps)
benchmarking pkgSipHash/11
time 50.74 ns (50.71 ns .. 50.80 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 50.77 ns (50.73 ns .. 50.86 ns)
std dev 179.7 ps (70.11 ps .. 351.1 ps)
benchmarking pkgSipHash/40
time 85.59 ns (85.31 ns .. 85.87 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 85.95 ns (85.73 ns .. 86.14 ns)
std dev 707.7 ps (605.9 ps .. 898.3 ps)
benchmarking pkgSipHash/128
time 171.5 ns (171.2 ns .. 171.7 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 171.4 ns (171.1 ns .. 171.6 ns)
std dev 988.6 ps (730.9 ps .. 1.417 ns)
benchmarking pkgSipHash/512
time 545.3 ns (544.9 ns .. 545.7 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 545.1 ns (545.0 ns .. 545.3 ns)
std dev 542.5 ps (402.2 ps .. 744.4 ps)
benchmarking pkgSipHash/2^20
time 976.2 μs (975.9 μs .. 976.6 μs)
1.000 R² (1.000 R² .. 1.000 R²)
mean 976.7 μs (976.1 μs .. 978.2 μs)
std dev 3.155 μs (984.1 ns .. 5.840 μs)
benchmarking fnv/5
time 8.274 ns (8.272 ns .. 8.276 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 8.274 ns (8.272 ns .. 8.277 ns)
std dev 8.147 ps (5.752 ps .. 13.18 ps)
benchmarking fnv/8
time 9.878 ns (9.875 ns .. 9.881 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 9.880 ns (9.877 ns .. 9.883 ns)
std dev 9.447 ps (6.974 ps .. 13.92 ps)
benchmarking fnv/11
time 11.51 ns (11.51 ns .. 11.52 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 11.54 ns (11.53 ns .. 11.58 ns)
std dev 86.27 ps (58.19 ps .. 126.9 ps)
benchmarking fnv/40
time 35.24 ns (35.08 ns .. 35.40 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 35.24 ns (35.13 ns .. 35.36 ns)
std dev 392.6 ps (350.7 ps .. 457.3 ps)
variance introduced by outliers: 11% (moderately inflated)
benchmarking fnv/128
time 127.4 ns (127.4 ns .. 127.5 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 127.4 ns (127.4 ns .. 127.5 ns)
std dev 159.7 ps (100.9 ps .. 279.7 ps)
benchmarking fnv/512
time 533.1 ns (532.9 ns .. 533.2 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 533.0 ns (532.9 ns .. 533.3 ns)
std dev 608.4 ps (396.6 ps .. 1.007 ns)
benchmarking fnv/2^20
time 1.056 ms (1.056 ms .. 1.057 ms)
1.000 R² (1.000 R² .. 1.000 R²)
mean 1.057 ms (1.056 ms .. 1.057 ms)
std dev 1.224 μs (861.9 ns .. 1.761 μs)
benchmarking Int/id32
time 5.538 ns (5.537 ns .. 5.539 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 5.537 ns (5.536 ns .. 5.540 ns)
std dev 4.981 ps (2.918 ps .. 7.994 ps)
benchmarking Int/id64
time 5.328 ns (5.325 ns .. 5.332 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 5.332 ns (5.328 ns .. 5.337 ns)
std dev 14.94 ps (12.30 ps .. 19.01 ps)
benchmarking Int/wang32
time 6.401 ns (6.399 ns .. 6.403 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 6.401 ns (6.400 ns .. 6.404 ns)
std dev 6.480 ps (5.244 ps .. 8.171 ps)
benchmarking Int/wang64
time 6.681 ns (6.675 ns .. 6.691 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 6.680 ns (6.677 ns .. 6.689 ns)
std dev 17.55 ps (6.395 ps .. 34.74 ps)
benchmarking Int/jenkins32a
time 6.933 ns (6.930 ns .. 6.936 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 6.932 ns (6.930 ns .. 6.935 ns)
std dev 8.806 ps (5.794 ps .. 15.01 ps)
benchmarking Int/jenkins32b
time 6.679 ns (6.674 ns .. 6.686 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 6.678 ns (6.675 ns .. 6.685 ns)
std dev 14.83 ps (6.040 ps .. 30.91 ps)
benchmarking Generic/product
time 23.83 ns (23.82 ns .. 23.84 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 23.83 ns (23.82 ns .. 23.86 ns)
std dev 50.19 ps (22.41 ps .. 96.51 ps)
benchmarking Generic/sum
time 5.197 ns (5.128 ns .. 5.243 ns)
0.999 R² (0.998 R² .. 0.999 R²)
mean 5.137 ns (5.073 ns .. 5.188 ns)
std dev 188.9 ps (165.4 ps .. 216.0 ps)
variance introduced by outliers: 62% (severely inflated)
benchmarking Generic/product and sum
time 7.491 ns (7.487 ns .. 7.496 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 7.494 ns (7.490 ns .. 7.500 ns)
std dev 15.95 ps (9.576 ps .. 24.69 ps)
Benchmark benchmarks: FINISH
$ cabal bench
Preprocessing benchmark 'benchmarks' for hashable-1.2.5.0...
Running 1 benchmarks...
Benchmark benchmarks: RUNNING...
benchmarking hashPtr/5
time 3.699 ns (3.697 ns .. 3.701 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 3.707 ns (3.700 ns .. 3.718 ns)
std dev 29.23 ps (18.09 ps .. 40.93 ps)
benchmarking hashPtr/8
time 5.019 ns (5.016 ns .. 5.022 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 5.019 ns (5.017 ns .. 5.022 ns)
std dev 7.931 ps (5.675 ps .. 12.64 ps)
benchmarking hashPtr/11
time 5.951 ns (5.948 ns .. 5.954 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 5.952 ns (5.949 ns .. 5.956 ns)
std dev 11.19 ps (7.609 ps .. 17.77 ps)
benchmarking hashPtr/40
time 30.15 ns (30.14 ns .. 30.16 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 30.14 ns (30.13 ns .. 30.16 ns)
std dev 37.60 ps (26.32 ps .. 53.20 ps)
benchmarking hashPtr/128
time 119.8 ns (119.5 ns .. 120.1 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 119.7 ns (119.5 ns .. 120.0 ns)
std dev 842.8 ps (524.8 ps .. 1.234 ns)
benchmarking hashPtr/512
time 525.0 ns (524.8 ns .. 525.1 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 525.1 ns (524.8 ns .. 525.9 ns)
std dev 1.524 ns (388.6 ps .. 2.579 ns)
benchmarking hashPtr/2^20
time 1.107 ms (1.107 ms .. 1.108 ms)
1.000 R² (1.000 R² .. 1.000 R²)
mean 1.109 ms (1.108 ms .. 1.111 ms)
std dev 5.431 μs (1.266 μs .. 9.642 μs)
benchmarking hashByteArray/5
time 11.21 ns (11.19 ns .. 11.25 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 11.20 ns (11.19 ns .. 11.22 ns)
std dev 38.56 ps (10.47 ps .. 76.15 ps)
benchmarking hashByteArray/8
time 13.07 ns (13.07 ns .. 13.08 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 13.07 ns (13.07 ns .. 13.08 ns)
std dev 18.28 ps (11.51 ps .. 27.82 ps)
benchmarking hashByteArray/11
time 14.38 ns (14.38 ns .. 14.39 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 14.38 ns (14.37 ns .. 14.38 ns)
std dev 15.42 ps (11.21 ps .. 25.33 ps)
benchmarking hashByteArray/40
time 37.87 ns (37.71 ns .. 38.00 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 37.86 ns (37.65 ns .. 37.98 ns)
std dev 506.0 ps (326.2 ps .. 753.6 ps)
variance introduced by outliers: 15% (moderately inflated)
benchmarking hashByteArray/128
time 129.8 ns (129.8 ns .. 129.9 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 129.8 ns (129.8 ns .. 129.9 ns)
std dev 195.9 ps (123.6 ps .. 297.8 ps)
benchmarking hashByteArray/512
time 535.8 ns (535.6 ns .. 536.0 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 535.8 ns (535.6 ns .. 536.1 ns)
std dev 744.3 ps (470.0 ps .. 1.383 ns)
benchmarking hashByteArray/2^20
time 1.107 ms (1.107 ms .. 1.108 ms)
1.000 R² (1.000 R² .. 1.000 R²)
mean 1.110 ms (1.109 ms .. 1.114 ms)
std dev 8.463 μs (4.676 μs .. 12.14 μs)
benchmarking hash/ByteString/strict/5
time 8.299 ns (8.290 ns .. 8.314 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 8.297 ns (8.291 ns .. 8.315 ns)
std dev 29.78 ps (10.81 ps .. 58.03 ps)
benchmarking hash/ByteString/strict/8
time 9.834 ns (9.830 ns .. 9.838 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 9.834 ns (9.831 ns .. 9.838 ns)
std dev 12.12 ps (8.239 ps .. 16.38 ps)
benchmarking hash/ByteString/strict/11
time 11.14 ns (11.12 ns .. 11.17 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 11.13 ns (11.12 ns .. 11.14 ns)
std dev 28.32 ps (11.98 ps .. 57.76 ps)
benchmarking hash/ByteString/strict/40
time 34.52 ns (34.20 ns .. 34.84 ns)
0.999 R² (0.999 R² .. 1.000 R²)
mean 34.51 ns (34.31 ns .. 34.80 ns)
std dev 786.9 ps (687.8 ps .. 876.3 ps)
variance introduced by outliers: 35% (moderately inflated)
benchmarking hash/ByteString/strict/128
time 127.8 ns (127.8 ns .. 127.9 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 127.8 ns (127.8 ns .. 127.9 ns)
std dev 141.8 ps (104.1 ps .. 203.1 ps)
benchmarking hash/ByteString/strict/512
time 533.8 ns (533.6 ns .. 533.9 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 533.8 ns (533.6 ns .. 534.3 ns)
std dev 821.0 ps (504.7 ps .. 1.517 ns)
benchmarking hash/ByteString/strict/2^20
time 1.056 ms (1.055 ms .. 1.057 ms)
1.000 R² (1.000 R² .. 1.000 R²)
mean 1.063 ms (1.060 ms .. 1.067 ms)
std dev 11.81 μs (9.344 μs .. 13.63 μs)
benchmarking hash/ByteString/lazy/5
time 11.55 ns (11.54 ns .. 11.55 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 11.55 ns (11.55 ns .. 11.56 ns)
std dev 16.76 ps (12.51 ps .. 22.15 ps)
benchmarking hash/ByteString/lazy/8
time 12.74 ns (12.73 ns .. 12.75 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 12.74 ns (12.73 ns .. 12.74 ns)
std dev 17.86 ps (12.42 ps .. 26.43 ps)
benchmarking hash/ByteString/lazy/11
time 14.23 ns (14.22 ns .. 14.24 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 14.23 ns (14.22 ns .. 14.24 ns)
std dev 23.19 ps (17.09 ps .. 34.41 ps)
benchmarking hash/ByteString/lazy/40
time 37.74 ns (37.58 ns .. 37.93 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 37.64 ns (37.53 ns .. 37.78 ns)
std dev 455.3 ps (370.0 ps .. 538.5 ps)
variance introduced by outliers: 13% (moderately inflated)
benchmarking hash/ByteString/lazy/128
time 131.1 ns (131.1 ns .. 131.2 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 131.1 ns (131.0 ns .. 131.1 ns)
std dev 193.4 ps (151.8 ps .. 248.3 ps)
benchmarking hash/ByteString/lazy/512
time 537.1 ns (536.5 ns .. 537.9 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 537.0 ns (536.5 ns .. 538.2 ns)
std dev 2.216 ns (483.7 ps .. 4.027 ns)
benchmarking hash/ByteString/lazy/2^20_40
time 1.185 ms (1.184 ms .. 1.186 ms)
1.000 R² (1.000 R² .. 1.000 R²)
mean 1.187 ms (1.186 ms .. 1.190 ms)
std dev 6.959 μs (3.800 μs .. 10.57 μs)
benchmarking hash/ByteString/lazy/2^20_128
time 1.139 ms (1.134 ms .. 1.146 ms)
1.000 R² (1.000 R² .. 1.000 R²)
mean 1.135 ms (1.133 ms .. 1.137 ms)
std dev 6.246 μs (3.759 μs .. 10.38 μs)
benchmarking hash/ByteString/lazy/2^20_64k
time 1.108 ms (1.107 ms .. 1.109 ms)
1.000 R² (1.000 R² .. 1.000 R²)
mean 1.108 ms (1.107 ms .. 1.109 ms)
std dev 2.342 μs (1.348 μs .. 3.932 μs)
benchmarking hash/String/5
time 41.36 ns (41.15 ns .. 41.64 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 41.51 ns (41.33 ns .. 41.73 ns)
std dev 642.8 ps (510.6 ps .. 815.7 ps)
variance introduced by outliers: 19% (moderately inflated)
benchmarking hash/String/8
time 61.11 ns (60.74 ns .. 61.52 ns)
1.000 R² (0.999 R² .. 1.000 R²)
mean 61.19 ns (60.83 ns .. 61.64 ns)
std dev 1.264 ns (1.022 ns .. 1.668 ns)
variance introduced by outliers: 29% (moderately inflated)
benchmarking hash/String/11
time 82.37 ns (82.16 ns .. 82.54 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 82.26 ns (81.93 ns .. 82.50 ns)
std dev 1.009 ns (665.4 ps .. 1.400 ns)
variance introduced by outliers: 13% (moderately inflated)
benchmarking hash/String/40
time 278.2 ns (278.0 ns .. 278.6 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 278.2 ns (278.0 ns .. 278.7 ns)
std dev 963.8 ps (342.4 ps .. 1.909 ns)
benchmarking hash/String/128
time 878.6 ns (875.9 ns .. 882.5 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 876.7 ns (875.8 ns .. 879.4 ns)
std dev 4.235 ns (804.2 ps .. 8.137 ns)
benchmarking hash/String/512
time 3.494 μs (3.493 μs .. 3.495 μs)
1.000 R² (1.000 R² .. 1.000 R²)
mean 3.496 μs (3.493 μs .. 3.502 μs)
std dev 13.17 ns (6.029 ns .. 24.72 ns)
benchmarking hash/String/2^20
time 7.842 ms (7.833 ms .. 7.856 ms)
1.000 R² (1.000 R² .. 1.000 R²)
mean 7.841 ms (7.836 ms .. 7.851 ms)
std dev 20.72 μs (11.40 μs .. 36.20 μs)
benchmarking hash/Text/strict/5
time 10.67 ns (10.67 ns .. 10.69 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 10.67 ns (10.67 ns .. 10.70 ns)
std dev 41.22 ps (9.059 ps .. 84.94 ps)
benchmarking hash/Text/strict/8
time 18.77 ns (18.72 ns .. 18.81 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 18.79 ns (18.76 ns .. 18.82 ns)
std dev 92.58 ps (79.34 ps .. 108.6 ps)
benchmarking hash/Text/strict/11
time 19.39 ns (19.36 ns .. 19.42 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 19.38 ns (19.37 ns .. 19.41 ns)
std dev 67.37 ps (40.17 ps .. 104.8 ps)
benchmarking hash/Text/strict/40
time 76.92 ns (76.89 ns .. 76.97 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 76.92 ns (76.89 ns .. 76.97 ns)
std dev 139.6 ps (99.92 ps .. 212.1 ps)
benchmarking hash/Text/strict/128
time 263.2 ns (262.9 ns .. 263.7 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 263.1 ns (263.0 ns .. 263.3 ns)
std dev 499.3 ps (257.9 ps .. 845.8 ps)
benchmarking hash/Text/strict/512
time 1.074 μs (1.074 μs .. 1.075 μs)
1.000 R² (1.000 R² .. 1.000 R²)
mean 1.074 μs (1.074 μs .. 1.075 μs)
std dev 1.382 ns (1.059 ns .. 1.852 ns)
benchmarking hash/Text/strict/2^20
time 4.091 ms (4.087 ms .. 4.097 ms)
1.000 R² (1.000 R² .. 1.000 R²)
mean 4.095 ms (4.090 ms .. 4.107 ms)
std dev 19.40 μs (9.862 μs .. 34.95 μs)
benchmarking hash/Text/lazy/5
time 13.02 ns (13.02 ns .. 13.03 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 13.02 ns (13.02 ns .. 13.03 ns)
std dev 11.58 ps (8.919 ps .. 15.03 ps)
benchmarking hash/Text/lazy/8
time 18.36 ns (18.06 ns .. 18.60 ns)
0.998 R² (0.997 R² .. 0.999 R²)
mean 18.17 ns (17.88 ns .. 18.43 ns)
std dev 895.8 ps (744.6 ps .. 1.049 ns)
variance introduced by outliers: 73% (severely inflated)
benchmarking hash/Text/lazy/11
time 22.50 ns (22.26 ns .. 22.70 ns)
0.999 R² (0.999 R² .. 1.000 R²)
mean 22.43 ns (22.21 ns .. 22.62 ns)
std dev 720.1 ps (623.1 ps .. 821.1 ps)
variance introduced by outliers: 52% (severely inflated)
benchmarking hash/Text/lazy/40
time 78.38 ns (78.01 ns .. 78.71 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 78.33 ns (78.09 ns .. 78.59 ns)
std dev 840.2 ps (763.7 ps .. 930.1 ps)
variance introduced by outliers: 10% (moderately inflated)
benchmarking hash/Text/lazy/128
time 265.6 ns (265.2 ns .. 266.3 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 265.8 ns (265.4 ns .. 266.4 ns)
std dev 1.505 ns (972.7 ps .. 2.440 ns)
benchmarking hash/Text/lazy/512
time 1.084 μs (1.083 μs .. 1.085 μs)
1.000 R² (1.000 R² .. 1.000 R²)
mean 1.083 μs (1.083 μs .. 1.084 μs)
std dev 2.102 ns (1.443 ns .. 3.118 ns)
benchmarking hash/Text/lazy/2^20_40
time 2.251 ms (2.250 ms .. 2.252 ms)
1.000 R² (1.000 R² .. 1.000 R²)
mean 2.253 ms (2.251 ms .. 2.258 ms)
std dev 9.184 μs (2.599 μs .. 18.25 μs)
benchmarking hash/Text/lazy/2^20_128
time 2.227 ms (2.226 ms .. 2.229 ms)
1.000 R² (1.000 R² .. 1.000 R²)
mean 2.229 ms (2.227 ms .. 2.235 ms)
std dev 10.33 μs (2.741 μs .. 20.93 μs)
benchmarking hash/Text/lazy/2^20_64k
time 2.215 ms (2.214 ms .. 2.216 ms)
1.000 R² (1.000 R² .. 1.000 R²)
mean 2.216 ms (2.215 ms .. 2.217 ms)
std dev 3.168 μs (2.171 μs .. 5.151 μs)
benchmarking hash/Int8
time 4.465 ns (4.396 ns .. 4.531 ns)
0.998 R² (0.996 R² .. 0.999 R²)
mean 4.476 ns (4.409 ns .. 4.567 ns)
std dev 257.5 ps (199.1 ps .. 344.3 ps)
variance introduced by outliers: 80% (severely inflated)
benchmarking hash/Int16
time 4.508 ns (4.468 ns .. 4.541 ns)
1.000 R² (0.999 R² .. 1.000 R²)
mean 4.528 ns (4.496 ns .. 4.550 ns)
std dev 90.20 ps (69.80 ps .. 123.6 ps)
variance introduced by outliers: 32% (moderately inflated)
benchmarking hash/Int32
time 4.154 ns (4.146 ns .. 4.163 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 4.166 ns (4.154 ns .. 4.180 ns)
std dev 44.47 ps (33.95 ps .. 57.62 ps)
variance introduced by outliers: 12% (moderately inflated)
benchmarking hash/Int
time 6.342 ns (6.335 ns .. 6.354 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 6.347 ns (6.340 ns .. 6.364 ns)
std dev 37.13 ps (18.48 ps .. 58.69 ps)
benchmarking hash/Int64
time 4.496 ns (4.424 ns .. 4.563 ns)
0.998 R² (0.997 R² .. 0.999 R²)
mean 4.527 ns (4.450 ns .. 4.593 ns)
std dev 236.1 ps (207.9 ps .. 270.2 ps)
variance introduced by outliers: 77% (severely inflated)
benchmarking hash/Double
time 10.61 ns (10.60 ns .. 10.61 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 10.65 ns (10.62 ns .. 10.69 ns)
std dev 103.1 ps (75.63 ps .. 131.6 ps)
benchmarking sipHash/5
time 28.10 ns (28.01 ns .. 28.19 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 28.09 ns (28.04 ns .. 28.15 ns)
std dev 197.4 ps (187.2 ps .. 212.6 ps)
benchmarking sipHash/8
time 33.07 ns (33.04 ns .. 33.13 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 33.06 ns (33.04 ns .. 33.11 ns)
std dev 104.4 ps (49.72 ps .. 195.5 ps)
benchmarking sipHash/11
time 33.35 ns (33.32 ns .. 33.39 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 33.38 ns (33.33 ns .. 33.47 ns)
std dev 220.8 ps (123.6 ps .. 342.4 ps)
benchmarking sipHash/40
time 53.26 ns (53.24 ns .. 53.28 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 53.25 ns (53.24 ns .. 53.28 ns)
std dev 68.59 ps (49.73 ps .. 106.6 ps)
benchmarking sipHash/128
time 108.4 ns (108.3 ns .. 108.6 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 108.4 ns (108.3 ns .. 108.5 ns)
std dev 334.9 ps (247.4 ps .. 446.9 ps)
benchmarking sipHash/512
time 356.2 ns (354.2 ns .. 358.2 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 354.2 ns (353.6 ns .. 355.5 ns)
std dev 2.916 ns (1.961 ns .. 4.526 ns)
benchmarking sipHash/2^20
time 635.8 μs (635.5 μs .. 636.1 μs)
1.000 R² (1.000 R² .. 1.000 R²)
mean 636.3 μs (636.1 μs .. 636.6 μs)
std dev 859.6 ns (556.2 ns .. 1.201 μs)
benchmarking cSipHash/5
time 17.65 ns (17.58 ns .. 17.73 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 17.60 ns (17.58 ns .. 17.64 ns)
std dev 81.40 ps (21.94 ps .. 152.1 ps)
benchmarking cSipHash/8
time 19.16 ns (19.15 ns .. 19.17 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 19.21 ns (19.18 ns .. 19.27 ns)
std dev 156.7 ps (92.72 ps .. 214.5 ps)
benchmarking cSipHash/11
time 20.11 ns (20.06 ns .. 20.18 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 20.10 ns (20.07 ns .. 20.17 ns)
std dev 140.6 ps (85.00 ps .. 222.3 ps)
benchmarking cSipHash/40
time 31.63 ns (31.58 ns .. 31.71 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 31.60 ns (31.58 ns .. 31.67 ns)
std dev 110.2 ps (36.68 ps .. 223.0 ps)
benchmarking cSipHash/128
time 66.86 ns (66.70 ns .. 67.02 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 66.80 ns (66.67 ns .. 66.97 ns)
std dev 489.0 ps (371.7 ps .. 605.7 ps)
benchmarking cSipHash/512
time 214.9 ns (214.6 ns .. 215.7 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 214.8 ns (214.6 ns .. 215.3 ns)
std dev 940.1 ps (356.2 ps .. 1.612 ns)
benchmarking cSipHash/2^20
time 377.8 μs (375.9 μs .. 380.2 μs)
1.000 R² (1.000 R² .. 1.000 R²)
mean 377.1 μs (376.2 μs .. 378.2 μs)
std dev 3.491 μs (2.571 μs .. 4.341 μs)
benchmarking cSipHash24/5
time 16.73 ns (16.73 ns .. 16.73 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 16.73 ns (16.73 ns .. 16.73 ns)
std dev 14.19 ps (10.70 ps .. 21.58 ps)
benchmarking cSipHash24/8
time 18.13 ns (18.12 ns .. 18.15 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 18.13 ns (18.13 ns .. 18.15 ns)
std dev 30.05 ps (15.36 ps .. 59.09 ps)
benchmarking cSipHash24/11
time 19.13 ns (19.13 ns .. 19.14 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 19.14 ns (19.13 ns .. 19.14 ns)
std dev 23.72 ps (17.71 ps .. 32.77 ps)
benchmarking cSipHash24/40
time 30.41 ns (30.37 ns .. 30.48 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 30.41 ns (30.38 ns .. 30.51 ns)
std dev 166.3 ps (41.37 ps .. 288.9 ps)
benchmarking cSipHash24/128
time 65.35 ns (65.21 ns .. 65.49 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 65.32 ns (65.23 ns .. 65.45 ns)
std dev 354.5 ps (277.0 ps .. 428.2 ps)
benchmarking cSipHash24/512
time 216.9 ns (215.8 ns .. 217.9 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 216.5 ns (216.0 ns .. 217.1 ns)
std dev 1.746 ns (1.321 ns .. 2.195 ns)
benchmarking cSipHash24/2^20
time 385.5 μs (385.0 μs .. 386.2 μs)
1.000 R² (1.000 R² .. 1.000 R²)
mean 385.2 μs (384.9 μs .. 385.6 μs)
std dev 919.9 ns (515.3 ns .. 1.556 μs)
benchmarking sse2SipHash/5
time 22.74 ns (22.74 ns .. 22.75 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 22.74 ns (22.74 ns .. 22.75 ns)
std dev 22.63 ps (17.28 ps .. 31.10 ps)
benchmarking sse2SipHash/8
time 26.84 ns (26.83 ns .. 26.85 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 26.84 ns (26.83 ns .. 26.85 ns)
std dev 38.01 ps (26.22 ps .. 58.29 ps)
benchmarking sse2SipHash/11
time 26.88 ns (26.86 ns .. 26.89 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 26.88 ns (26.87 ns .. 26.90 ns)
std dev 48.52 ps (33.50 ps .. 70.96 ps)
benchmarking sse2SipHash/40
time 46.29 ns (46.26 ns .. 46.35 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 46.28 ns (46.27 ns .. 46.37 ns)
std dev 90.40 ps (35.32 ps .. 199.5 ps)
benchmarking sse2SipHash/128
time 101.6 ns (101.3 ns .. 101.8 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 101.4 ns (101.3 ns .. 101.6 ns)
std dev 593.5 ps (496.1 ps .. 719.2 ps)
benchmarking sse2SipHash/512
time 342.2 ns (342.1 ns .. 342.3 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 342.2 ns (342.1 ns .. 342.3 ns)
std dev 300.4 ps (223.0 ps .. 438.8 ps)
benchmarking sse2SipHash/2^20
time 621.2 μs (621.0 μs .. 621.3 μs)
1.000 R² (1.000 R² .. 1.000 R²)
mean 621.1 μs (621.0 μs .. 621.4 μs)
std dev 636.9 ns (436.0 ns .. 1.106 μs)
benchmarking pkgSipHash/5
time 42.70 ns (42.61 ns .. 42.85 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 42.68 ns (42.63 ns .. 42.80 ns)
std dev 275.7 ps (155.9 ps .. 427.2 ps)
benchmarking pkgSipHash/8
time 50.28 ns (50.25 ns .. 50.30 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 50.26 ns (50.24 ns .. 50.28 ns)
std dev 64.99 ps (42.99 ps .. 105.9 ps)
benchmarking pkgSipHash/11
time 50.65 ns (50.58 ns .. 50.75 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 50.62 ns (50.59 ns .. 50.70 ns)
std dev 160.2 ps (94.31 ps .. 279.3 ps)
benchmarking pkgSipHash/40
time 84.97 ns (84.80 ns .. 85.17 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 85.36 ns (85.05 ns .. 85.84 ns)
std dev 1.241 ns (900.6 ps .. 1.555 ns)
variance introduced by outliers: 17% (moderately inflated)
benchmarking pkgSipHash/128
time 174.3 ns (173.8 ns .. 174.9 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 174.4 ns (174.0 ns .. 174.9 ns)
std dev 1.545 ns (1.197 ns .. 1.839 ns)
benchmarking pkgSipHash/512
time 570.8 ns (570.7 ns .. 571.0 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 570.9 ns (570.8 ns .. 571.1 ns)
std dev 510.9 ps (336.3 ps .. 802.4 ps)
benchmarking pkgSipHash/2^20
time 1.025 ms (1.024 ms .. 1.026 ms)
1.000 R² (1.000 R² .. 1.000 R²)
mean 1.024 ms (1.024 ms .. 1.025 ms)
std dev 2.092 μs (1.297 μs .. 3.156 μs)
benchmarking fnv/5
time 7.843 ns (7.834 ns .. 7.858 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 7.840 ns (7.836 ns .. 7.846 ns)
std dev 15.17 ps (9.953 ps .. 24.69 ps)
benchmarking fnv/8
time 9.229 ns (9.203 ns .. 9.270 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 9.210 ns (9.203 ns .. 9.234 ns)
std dev 39.16 ps (10.74 ps .. 79.88 ps)
benchmarking fnv/11
time 10.77 ns (10.76 ns .. 10.79 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 10.77 ns (10.76 ns .. 10.79 ns)
std dev 42.62 ps (17.95 ps .. 81.57 ps)
benchmarking fnv/40
time 33.79 ns (33.61 ns .. 33.99 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 33.76 ns (33.61 ns .. 33.94 ns)
std dev 564.0 ps (454.3 ps .. 662.5 ps)
variance introduced by outliers: 22% (moderately inflated)
benchmarking fnv/128
time 127.6 ns (127.5 ns .. 127.7 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 127.7 ns (127.6 ns .. 128.1 ns)
std dev 639.9 ps (348.4 ps .. 1.199 ns)
benchmarking fnv/512
time 534.2 ns (533.1 ns .. 535.3 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 534.0 ns (533.4 ns .. 535.4 ns)
std dev 3.312 ns (1.945 ns .. 5.329 ns)
benchmarking fnv/2^20
time 1.056 ms (1.056 ms .. 1.057 ms)
1.000 R² (1.000 R² .. 1.000 R²)
mean 1.056 ms (1.056 ms .. 1.057 ms)
std dev 1.080 μs (706.3 ns .. 1.628 μs)
benchmarking Int/id32
time 5.782 ns (5.780 ns .. 5.785 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 5.782 ns (5.780 ns .. 5.784 ns)
std dev 6.869 ps (5.106 ps .. 9.283 ps)
benchmarking Int/id64
time 5.779 ns (5.776 ns .. 5.782 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 5.783 ns (5.777 ns .. 5.798 ns)
std dev 28.93 ps (5.692 ps .. 51.63 ps)
benchmarking Int/wang32
time 6.138 ns (6.134 ns .. 6.145 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 6.142 ns (6.136 ns .. 6.155 ns)
std dev 28.68 ps (11.24 ps .. 53.57 ps)
benchmarking Int/wang64
time 7.186 ns (7.179 ns .. 7.199 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 7.192 ns (7.182 ns .. 7.211 ns)
std dev 45.77 ps (29.43 ps .. 69.58 ps)
benchmarking Int/jenkins32a
time 6.674 ns (6.668 ns .. 6.683 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 6.673 ns (6.669 ns .. 6.686 ns)
std dev 24.36 ps (11.73 ps .. 47.90 ps)
benchmarking Int/jenkins32b
time 7.195 ns (7.189 ns .. 7.205 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 7.214 ns (7.200 ns .. 7.244 ns)
std dev 65.12 ps (46.38 ps .. 86.72 ps)
benchmarking Generic/product
time 21.67 ns (21.67 ns .. 21.68 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 21.67 ns (21.67 ns .. 21.68 ns)
std dev 30.06 ps (24.74 ps .. 38.09 ps)
benchmarking Generic/sum
time 5.357 ns (5.356 ns .. 5.359 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 5.357 ns (5.355 ns .. 5.359 ns)
std dev 6.756 ps (5.099 ps .. 10.07 ps)
benchmarking Generic/product and sum
time 7.739 ns (7.738 ns .. 7.741 ns)
1.000 R² (1.000 R² .. 1.000 R²)
mean 7.739 ns (7.738 ns .. 7.742 ns)
std dev 7.459 ps (5.538 ps .. 11.26 ps)
Benchmark benchmarks: FINISH
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment