@evan/wasm
Version:
set of wasm modules
232 lines (222 loc) • 13 kB
Markdown
# benchmarks
```js
cpu: Apple M1
runtime: node v18.3.0 (arm64-darwin)
benchmark time (avg) (min … max)
-------------------------------------------------------
wyhash 4b 28.45 ns/iter (27.02 ns … 630.58 ns)
wyhash 8b 45.38 ns/iter (44.52 ns … 56.6 ns)
wyhash 16b 46.39 ns/iter (45.57 ns … 298.7 ns)
wyhash 32b 50.26 ns/iter (49.6 ns … 57.14 ns)
wyhash 64b 55.16 ns/iter (54.32 ns … 67.83 ns)
wyhash 128b 74.22 ns/iter (73.42 ns … 80.38 ns)
wyhash 256b 114.48 ns/iter (113.57 ns … 124.37 ns)
wyhash 512b 196.35 ns/iter (194.97 ns … 215.15 ns)
wyhash 1kb 359.65 ns/iter (357.3 ns … 395.71 ns)
wyhash 2kb 684.21 ns/iter (681.73 ns … 698.85 ns)
wyhash 4kb 1.37 µs/iter (1.36 µs … 1.39 µs)
wyhash 8kb 2.67 µs/iter (2.66 µs … 2.7 µs)
wyhash 16kb 5.28 µs/iter (5.28 µs … 5.3 µs)
wyhash 32kb 10.53 µs/iter (10.38 µs … 160.83 µs)
wyhash 64kb 21.44 µs/iter (21.13 µs … 35.13 µs)
wyhash 128kb 43.79 µs/iter (42.96 µs … 55.54 µs)
wyhash 256kb 85.17 µs/iter (84.54 µs … 101.46 µs)
wyhash 512kb 169.37 µs/iter (168.04 µs … 199.79 µs)
wyhash 1mb 339.9 µs/iter (337.33 µs … 364.17 µs)
wyhash 2mb 681.92 µs/iter (674.29 µs … 723.33 µs)
wyhash 4mb 1.35 ms/iter (1.35 ms … 1.38 ms)
wyhash 8mb 2.71 ms/iter (2.7 ms … 2.94 ms)
wyhash 16mb 5.48 ms/iter (5.46 ms … 5.54 ms)
-------------------------------------------------------
md5 4b 538.43 ns/iter (529.59 ns … 602.05 ns)
md5 8b 532.16 ns/iter (524.95 ns … 599.03 ns)
md5 16b 537.87 ns/iter (529.75 ns … 681.58 ns)
md5 32b 524.96 ns/iter (518.05 ns … 542.17 ns)
md5 64b 638.48 ns/iter (633.1 ns … 652.7 ns)
md5 128b 762.17 ns/iter (756.44 ns … 781.86 ns)
md5 256b 1.01 µs/iter (1 µs … 1.1 µs)
md5 512b 1.57 µs/iter (1.53 µs … 1.76 µs)
md5 1kb 2.53 µs/iter (2.52 µs … 2.55 µs)
md5 2kb 4.51 µs/iter (4.5 µs … 4.55 µs)
md5 4kb 8.48 µs/iter (8.46 µs … 8.53 µs)
md5 8kb 16.45 µs/iter (16.25 µs … 120.21 µs)
md5 16kb 32.5 µs/iter (32.13 µs … 144.29 µs)
md5 32kb 64.42 µs/iter (63.88 µs … 220.79 µs)
md5 64kb 128.13 µs/iter (127.38 µs … 287.54 µs)
md5 128kb 256.03 µs/iter (254.79 µs … 428.79 µs)
md5 256kb 511.19 µs/iter (509.21 µs … 566.75 µs)
md5 512kb 1.02 ms/iter (1.02 ms … 1.17 ms)
md5 1mb 2.05 ms/iter (2.04 ms … 2.19 ms)
md5 2mb 4.1 ms/iter (4.08 ms … 4.22 ms)
md5 4mb 8.19 ms/iter (8.15 ms … 8.39 ms)
md5 8mb 16.38 ms/iter (16.29 ms … 16.62 ms)
md5 16mb 32.76 ms/iter (32.7 ms … 32.94 ms)
-------------------------------------------------------
seahash 4b 58.68 ns/iter (58.11 ns … 67.9 ns)
seahash 8b 56.99 ns/iter (56.32 ns … 65.44 ns)
seahash 16b 60.26 ns/iter (59.6 ns … 71.86 ns)
seahash 32b 60.52 ns/iter (59.86 ns … 68.99 ns)
seahash 64b 59.99 ns/iter (58.39 ns … 70.45 ns)
seahash 128b 64.29 ns/iter (63.33 ns … 73.15 ns)
seahash 256b 78.27 ns/iter (77.14 ns … 87.88 ns)
seahash 512b 111.23 ns/iter (110.13 ns … 121.13 ns)
seahash 1kb 176.67 ns/iter (175.23 ns … 187.59 ns)
seahash 2kb 306.65 ns/iter (304.97 ns … 317.27 ns)
seahash 4kb 581.03 ns/iter (579.05 ns … 597.25 ns)
seahash 8kb 1.11 µs/iter (1.11 µs … 1.14 µs)
seahash 16kb 2.17 µs/iter (2.17 µs … 2.2 µs)
seahash 32kb 4.29 µs/iter (4.29 µs … 4.33 µs)
seahash 64kb 8.64 µs/iter (8.63 µs … 8.68 µs)
seahash 128kb 18.3 µs/iter (17.5 µs … 52.79 µs)
seahash 256kb 35.17 µs/iter (34.88 µs … 53.67 µs)
seahash 512kb 69.13 µs/iter (68.63 µs … 89.92 µs)
seahash 1mb 139.79 µs/iter (138 µs … 160.04 µs)
seahash 2mb 282.7 µs/iter (277.38 µs … 320.38 µs)
seahash 4mb 558.89 µs/iter (553.67 µs … 614.38 µs)
seahash 8mb 1.12 ms/iter (1.12 ms … 1.32 ms)
seahash 16mb 2.31 ms/iter (2.28 ms … 2.61 ms)
-------------------------------------------------------
crc32 4b 267.29 ns/iter (258.32 ns … 301.72 ns)
crc32 8b 267.54 ns/iter (261.66 ns … 281.61 ns)
crc32 16b 268.2 ns/iter (264.4 ns … 277.24 ns)
crc32 32b 279.85 ns/iter (275.15 ns … 289.69 ns)
crc32 64b 287.73 ns/iter (284.35 ns … 294.48 ns)
crc32 128b 314.19 ns/iter (306 ns … 330.92 ns)
crc32 256b 373.28 ns/iter (369.57 ns … 384.02 ns)
crc32 512b 502.54 ns/iter (497.38 ns … 532.22 ns)
crc32 1kb 760.51 ns/iter (755.42 ns … 778.8 ns)
crc32 2kb 1.29 µs/iter (1.29 µs … 1.3 µs)
crc32 4kb 2.32 µs/iter (2.31 µs … 2.35 µs)
crc32 8kb 4.35 µs/iter (4.34 µs … 4.38 µs)
crc32 16kb 8.55 µs/iter (8.53 µs … 8.68 µs)
crc32 32kb 16.82 µs/iter (16.63 µs … 135.58 µs)
crc32 64kb 33.51 µs/iter (33.17 µs … 472.08 µs)
crc32 128kb 67.1 µs/iter (66.5 µs … 264.58 µs)
crc32 256kb 133.96 µs/iter (132.79 µs … 287.71 µs)
crc32 512kb 267.21 µs/iter (265.5 µs … 432.17 µs)
crc32 1mb 534.95 µs/iter (531.42 µs … 664.38 µs)
crc32 2mb 1.07 ms/iter (1.06 ms … 1.2 ms)
crc32 4mb 2.13 ms/iter (2.13 ms … 2.27 ms)
crc32 8mb 4.26 ms/iter (4.25 ms … 4.33 ms)
crc32 16mb 8.53 ms/iter (8.5 ms … 8.74 ms)
-------------------------------------------------------
blake3 4b 678.76 ns/iter (669.65 ns … 687.73 ns)
blake3 8b 664.7 ns/iter (659.86 ns … 687.62 ns)
blake3 16b 673.28 ns/iter (665.59 ns … 723.49 ns)
blake3 32b 686.2 ns/iter (667.05 ns … 845.61 ns)
blake3 64b 694.99 ns/iter (690.61 ns … 711.1 ns)
blake3 128b 766.74 ns/iter (762 ns … 785.42 ns)
blake3 256b 915.65 ns/iter (909.65 ns … 927.89 ns)
blake3 512b 1.19 µs/iter (1.18 µs … 1.22 µs)
blake3 1kb 1.78 µs/iter (1.77 µs … 1.8 µs)
blake3 2kb 2.98 µs/iter (2.97 µs … 3 µs)
blake3 4kb 5.41 µs/iter (5.4 µs … 5.46 µs)
blake3 8kb 10.31 µs/iter (10 µs … 185.08 µs)
blake3 16kb 20.15 µs/iter (19.67 µs … 157.71 µs)
blake3 32kb 40.02 µs/iter (39.04 µs … 271.88 µs)
blake3 64kb 79.49 µs/iter (78.13 µs … 105.46 µs)
blake3 128kb 158.78 µs/iter (156.29 µs … 393.75 µs)
blake3 256kb 317.18 µs/iter (312.33 µs … 333.67 µs)
blake3 512kb 634.47 µs/iter (626.04 µs … 787.17 µs)
blake3 1mb 1.27 ms/iter (1.26 ms … 1.32 ms)
blake3 2mb 2.54 ms/iter (2.52 ms … 2.72 ms)
blake3 4mb 5.08 ms/iter (5.05 ms … 5.28 ms)
blake3 8mb 10.15 ms/iter (10.11 ms … 10.32 ms)
blake3 16mb 20.32 ms/iter (20.23 ms … 20.63 ms)
-------------------------------------------------------
xxhash64 4b 473.83 ns/iter (464.23 ns … 490.91 ns)
xxhash64 8b 469.33 ns/iter (465.82 ns … 485.71 ns)
xxhash64 16b 479.53 ns/iter (475.25 ns … 495.29 ns)
xxhash64 32b 478.37 ns/iter (473.35 ns … 498.68 ns)
xxhash64 64b 473.78 ns/iter (469.45 ns … 491.3 ns)
xxhash64 128b 484.33 ns/iter (480.48 ns … 503.56 ns)
xxhash64 256b 493.03 ns/iter (483.63 ns … 509.6 ns)
xxhash64 512b 507.25 ns/iter (500.22 ns … 527.92 ns)
xxhash64 1kb 545.63 ns/iter (541.63 ns … 563.54 ns)
xxhash64 2kb 624.4 ns/iter (620.25 ns … 648.89 ns)
xxhash64 4kb 797.19 ns/iter (792.42 ns … 818.91 ns)
xxhash64 8kb 1.13 µs/iter (1.12 µs … 1.15 µs)
xxhash64 16kb 1.82 µs/iter (1.8 µs … 1.85 µs)
xxhash64 32kb 3.25 µs/iter (3.25 µs … 3.27 µs)
xxhash64 64kb 6.19 µs/iter (6.17 µs … 6.21 µs)
xxhash64 128kb 12.5 µs/iter (12.29 µs … 130.71 µs)
xxhash64 256kb 24.61 µs/iter (24.33 µs … 170.79 µs)
xxhash64 512kb 48.75 µs/iter (48.25 µs … 161.88 µs)
xxhash64 1mb 97.87 µs/iter (96.58 µs … 278.17 µs)
xxhash64 2mb 196.77 µs/iter (194.38 µs … 353.25 µs)
xxhash64 4mb 389.87 µs/iter (386.5 µs … 530.79 µs)
xxhash64 8mb 774.94 µs/iter (770.5 µs … 891.71 µs)
xxhash64 16mb 1.55 ms/iter (1.54 ms … 1.66 ms)
-------------------------------------------------------
xxhash128 4b 563.29 ns/iter (553.9 ns … 578.23 ns)
xxhash128 8b 556.78 ns/iter (552.84 ns … 571.31 ns)
xxhash128 16b 560.55 ns/iter (555.56 ns … 582.58 ns)
xxhash128 32b 559.43 ns/iter (555.24 ns … 577.71 ns)
xxhash128 64b 566.92 ns/iter (562.59 ns … 590.42 ns)
xxhash128 128b 585.79 ns/iter (580.5 ns … 617.15 ns)
xxhash128 256b 609.51 ns/iter (603.52 ns … 623.96 ns)
xxhash128 512b 635.95 ns/iter (629.7 ns … 676.95 ns)
xxhash128 1kb 685.61 ns/iter (679.19 ns … 705.43 ns)
xxhash128 2kb 787.28 ns/iter (781.85 ns … 807.86 ns)
xxhash128 4kb 998.26 ns/iter (991.25 ns … 1.03 µs)
xxhash128 8kb 1.41 µs/iter (1.4 µs … 1.43 µs)
xxhash128 16kb 2.25 µs/iter (2.23 µs … 2.27 µs)
xxhash128 32kb 4.02 µs/iter (3.98 µs … 4.08 µs)
xxhash128 64kb 7.62 µs/iter (7.54 µs … 7.7 µs)
xxhash128 128kb 15.06 µs/iter (14.75 µs … 143.25 µs)
xxhash128 256kb 29.98 µs/iter (29.67 µs … 170.46 µs)
xxhash128 512kb 58.83 µs/iter (57.67 µs … 186.79 µs)
xxhash128 1mb 116.27 µs/iter (115.08 µs … 249.46 µs)
xxhash128 2mb 236.29 µs/iter (231.08 µs … 363.5 µs)
xxhash128 4mb 473.1 µs/iter (469.58 µs … 581.42 µs)
xxhash128 8mb 930.4 µs/iter (917.54 µs … 1.05 ms)
xxhash128 16mb 1.84 ms/iter (1.83 ms … 1.97 ms)
-------------------------------------------------------
sha3-256 4b 854.87 ns/iter (847.5 ns … 873.9 ns)
sha3-256 8b 853.86 ns/iter (847.17 ns … 879.77 ns)
sha3-256 16b 855.1 ns/iter (849.62 ns … 869.04 ns)
sha3-256 32b 850.92 ns/iter (844.03 ns … 871.43 ns)
sha3-256 64b 849.25 ns/iter (840.78 ns … 877.4 ns)
sha3-256 128b 858.36 ns/iter (851.17 ns … 881.84 ns)
sha3-256 256b 1.08 µs/iter (1.07 µs … 1.11 µs)
sha3-256 512b 1.55 µs/iter (1.54 µs … 1.57 µs)
sha3-256 1kb 2.44 µs/iter (2.4 µs … 2.46 µs)
sha3-256 2kb 4.21 µs/iter (4.19 µs … 4.22 µs)
sha3-256 4kb 7.41 µs/iter (7.36 µs … 7.52 µs)
sha3-256 8kb 13.95 µs/iter (13.63 µs … 758.83 µs)
sha3-256 16kb 27 µs/iter (26.63 µs … 287.54 µs)
sha3-256 32kb 53.25 µs/iter (52.63 µs … 320.38 µs)
sha3-256 64kb 105.76 µs/iter (105 µs … 123.46 µs)
sha3-256 128kb 211.38 µs/iter (210 µs … 396.63 µs)
sha3-256 256kb 421.52 µs/iter (419.5 µs … 447.33 µs)
sha3-256 512kb 842.57 µs/iter (838.29 µs … 929.54 µs)
sha3-256 1mb 1.69 ms/iter (1.68 ms … 1.74 ms)
sha3-256 2mb 3.37 ms/iter (3.36 ms … 3.56 ms)
sha3-256 4mb 6.75 ms/iter (6.71 ms … 6.99 ms)
sha3-256 8mb 13.48 ms/iter (13.42 ms … 13.66 ms)
sha3-256 16mb 26.96 ms/iter (26.87 ms … 27.2 ms)
-------------------------------------------------------
sha3-512 4b 1.22 µs/iter (1.21 µs … 1.25 µs)
sha3-512 8b 1.21 µs/iter (1.2 µs … 1.24 µs)
sha3-512 16b 1.24 µs/iter (1.23 µs … 1.25 µs)
sha3-512 32b 1.23 µs/iter (1.23 µs … 1.25 µs)
sha3-512 64b 1.22 µs/iter (1.21 µs … 1.25 µs)
sha3-512 128b 1.43 µs/iter (1.41 µs … 1.46 µs)
sha3-512 256b 1.91 µs/iter (1.88 µs … 1.94 µs)
sha3-512 512b 2.75 µs/iter (2.73 µs … 2.77 µs)
sha3-512 1kb 4.25 µs/iter (4.24 µs … 4.27 µs)
sha3-512 2kb 7.24 µs/iter (7.22 µs … 7.26 µs)
sha3-512 4kb 13.4 µs/iter (13 µs … 292.79 µs)
sha3-512 8kb 25.84 µs/iter (25.17 µs … 291.46 µs)
sha3-512 16kb 49.97 µs/iter (49.5 µs … 339.17 µs)
sha3-512 32kb 100.65 µs/iter (98.17 µs … 404.96 µs)
sha3-512 64kb 197.9 µs/iter (195.33 µs … 255.83 µs)
sha3-512 128kb 392.27 µs/iter (390.29 µs … 436.92 µs)
sha3-512 256kb 783.53 µs/iter (779.42 µs … 876.79 µs)
sha3-512 512kb 1.56 ms/iter (1.56 ms … 1.65 ms)
sha3-512 1mb 3.19 ms/iter (3.12 ms … 3.4 ms)
sha3-512 2mb 6.34 ms/iter (6.25 ms … 6.51 ms)
sha3-512 4mb 12.54 ms/iter (12.51 ms … 12.72 ms)
sha3-512 8mb 25.56 ms/iter (25.51 ms … 25.74 ms)
sha3-512 16mb 51.11 ms/iter (51.02 ms … 51.31 ms)
```