Benchmark of various checksum algorithms (specifically, rust implementations).
- 32bit:
adler32
,crc32
- 128bit:
md5
- 160bit:
sha1
- 256bit:
sha2_256
,sha3_256
,blake2s
,blake3
- 384bit:
sha2_384
,sha3_384
- 512bit:
blake2b
,sha2_512
,sha3_512
Run with
RUSTFLAGS="-C target-cpu=native" DIVAN_SAMPLE_COUNT=10000 cargo +nightly bench
I've tried to use the most efficient checksum/hash function implementation in each case.
sha1
/sha2_*
will try to use hardware acceleration.blake3_mt
will use rayon for parallelism
The checksum algorithms are benchmarked on pages of size 4KiB, 16KiB, 64KiB and 1MiB.
[!INFO] The larger the page size and the smaller the checksum output, the more greater the chance of collisions. I would advice against using a 32bit checksum on >16KiB inputs.
[!WARN] Some of these checksums are not cryptographically secure.
- If you are checksumming large pages and/or need cryptographic security, I would highly recommend
blake3
. - If you are checksumming small pages and don't need cryptographic security,
crc32
oradler32
work well.
This benchmark makes no claims over checksum integrety. I would advise you do your own research here.
This benchmark makes no claims over cryptographic security. I would advise you do your own research here. However, my opinion on the research is that blake3, sha2, and sha3 are all cryptographically secure still. Blake3 is the most modern and it seems to be the most secure, but more analysis is required.
crc32 - 8.70 GB/s
blake3_mt - 7.87 GB/s
adler - 5.76 GB/s
sha2_256 - 2.38 GB/s
sha1 - 2.35 GB/s
blake3 - 2.01 GB/s
sha2_384 - 1.58 GB/s
sha2_512 - 1.58 GB/s
blake2b - 1.14 GB/s
md5 - 653 MB/s
blake2s - 684 MB/s
sha3_256 - 625 MB/s
sha3_384 - 479 MB/s
sha3_512 - 334 MB/s
Expand full test info
Timer precision: 41 ns
checksums fastest │ slowest │ median │ mean │ samples │ iters
├─ crypto │ │ │ │ │
│ ├─ blake │ │ │ │ │
│ │ ├─ blake2b │ │ │ │ │
│ │ │ ├─ 4096 3.749 µs │ 41.91 µs │ 5.207 µs │ 5.83 µs │ 10000 │ 10000
│ │ │ │ 1.092 GB/s │ 97.71 MB/s │ 786.5 MB/s │ 702.5 MB/s │ │
│ │ │ ├─ 16384 14.12 µs │ 50.08 µs │ 14.24 µs │ 14.97 µs │ 10000 │ 10000
│ │ │ │ 1.159 GB/s │ 327.1 MB/s │ 1.149 GB/s │ 1.093 GB/s │ │
│ │ │ ├─ 65536 56.58 µs │ 179.7 µs │ 56.83 µs │ 57.64 µs │ 10000 │ 10000
│ │ │ │ 1.158 GB/s │ 364.5 MB/s │ 1.153 GB/s │ 1.136 GB/s │ │
│ │ │ ╰─ 1048576 907.7 µs │ 2.162 ms │ 912 µs │ 918.2 µs │ 10000 │ 10000
│ │ │ 1.155 GB/s │ 484.8 MB/s │ 1.149 GB/s │ 1.141 GB/s │ │
│ │ ├─ blake2s │ │ │ │ │
│ │ │ ├─ 4096 5.874 µs │ 21.04 µs │ 5.999 µs │ 6.17 µs │ 10000 │ 10000
│ │ │ │ 697.2 MB/s │ 194.6 MB/s │ 682.7 MB/s │ 663.7 MB/s │ │
│ │ │ ├─ 16384 23.66 µs │ 44.83 µs │ 23.83 µs │ 24.15 µs │ 10000 │ 10000
│ │ │ │ 692.3 MB/s │ 365.4 MB/s │ 687.4 MB/s │ 678.3 MB/s │ │
│ │ │ ├─ 65536 95.08 µs │ 143.6 µs │ 95.33 µs │ 96.65 µs │ 10000 │ 10000
│ │ │ │ 689.2 MB/s │ 456.1 MB/s │ 687.4 MB/s │ 678 MB/s │ │
│ │ │ ╰─ 1048576 1.523 ms │ 1.833 ms │ 1.527 ms │ 1.532 ms │ 10000 │ 10000
│ │ │ 688.4 MB/s │ 571.7 MB/s │ 686.3 MB/s │ 684.1 MB/s │ │
│ │ ├─ blake3 │ │ │ │ │
│ │ │ ├─ 4096 2.04 µs │ 28.29 µs │ 2.124 µs │ 2.23 µs │ 10000 │ 10000
│ │ │ │ 2.007 GB/s │ 144.7 MB/s │ 1.927 GB/s │ 1.836 GB/s │ │
│ │ │ ├─ 16384 8.082 µs │ 26.7 µs │ 8.207 µs │ 8.379 µs │ 10000 │ 10000
│ │ │ │ 2.027 GB/s │ 613.4 MB/s │ 1.996 GB/s │ 1.955 GB/s │ │
│ │ │ ├─ 65536 32.33 µs │ 56.04 µs │ 32.45 µs │ 32.78 µs │ 10000 │ 10000
│ │ │ │ 2.026 GB/s │ 1.169 GB/s │ 2.019 GB/s │ 1.999 GB/s │ │
│ │ │ ╰─ 1048576 518.2 µs │ 730.6 µs │ 518.7 µs │ 522.3 µs │ 10000 │ 10000
│ │ │ 2.023 GB/s │ 1.435 GB/s │ 2.021 GB/s │ 2.007 GB/s │ │
│ │ ╰─ blake3_mt │ │ │ │ │
│ │ ├─ 4096 2.082 µs │ 8.562 µs │ 2.124 µs │ 2.172 µs │ 10000 │ 20000
│ │ │ 1.966 GB/s │ 478.3 MB/s │ 1.927 GB/s │ 1.885 GB/s │ │
│ │ ├─ 16384 8.499 µs │ 229.5 µs │ 22.83 µs │ 28.98 µs │ 10000 │ 10000
│ │ │ 1.927 GB/s │ 71.37 MB/s │ 717.5 MB/s │ 565.1 MB/s │ │
│ │ ├─ 65536 15.04 µs │ 285.2 µs │ 38.33 µs │ 42.38 µs │ 10000 │ 10000
│ │ │ 4.357 GB/s │ 229.7 MB/s │ 1.709 GB/s │ 1.546 GB/s │ │
│ │ ╰─ 1048576 74.16 µs │ 615.2 µs │ 117.4 µs │ 133.1 µs │ 10000 │ 10000
│ │ 14.13 GB/s │ 1.704 GB/s │ 8.93 GB/s │ 7.872 GB/s │ │
│ ├─ md │ │ │ │ │
│ │ ╰─ md5 │ │ │ │ │
│ │ ├─ 4096 6.124 µs │ 19.87 µs │ 6.291 µs │ 6.437 µs │ 10000 │ 10000
│ │ │ 668.7 MB/s │ 206 MB/s │ 651 MB/s │ 636.2 MB/s │ │
│ │ ├─ 16384 24.45 µs │ 75.04 µs │ 25.08 µs │ 25.24 µs │ 10000 │ 10000
│ │ │ 669.8 MB/s │ 218.3 MB/s │ 653.1 MB/s │ 649 MB/s │ │
│ │ ├─ 65536 97.7 µs │ 166.7 µs │ 100.2 µs │ 100.7 µs │ 10000 │ 10000
│ │ │ 670.7 MB/s │ 392.9 MB/s │ 653.9 MB/s │ 650.7 MB/s │ │
│ │ ╰─ 1048576 1.562 ms │ 1.849 ms │ 1.604 ms │ 1.604 ms │ 10000 │ 10000
│ │ 671.2 MB/s │ 567 MB/s │ 653.3 MB/s │ 653.4 MB/s │ │
│ ╰─ sha │ │ │ │ │
│ ├─ sha1 │ │ │ │ │
│ │ ├─ 4096 1.718 µs │ 5.489 µs │ 1.749 µs │ 1.782 µs │ 10000 │ 40000
│ │ │ 2.383 GB/s │ 746.1 MB/s │ 2.341 GB/s │ 2.297 GB/s │ │
│ │ ├─ 16384 6.832 µs │ 38.79 µs │ 6.916 µs │ 7.1 µs │ 10000 │ 10000
│ │ │ 2.397 GB/s │ 422.3 MB/s │ 2.368 GB/s │ 2.307 GB/s │ │
│ │ ├─ 65536 27.41 µs │ 49.04 µs │ 27.54 µs │ 27.87 µs │ 10000 │ 10000
│ │ │ 2.39 GB/s │ 1.336 GB/s │ 2.379 GB/s │ 2.351 GB/s │ │
│ │ ╰─ 1048576 440 µs │ 566.9 µs │ 440.3 µs │ 444.3 µs │ 10000 │ 10000
│ │ 2.382 GB/s │ 1.849 GB/s │ 2.381 GB/s │ 2.359 GB/s │ │
│ ├─ sha2_256 │ │ │ │ │
│ │ ├─ 4096 1.697 µs │ 17.26 µs │ 1.728 µs │ 1.769 µs │ 10000 │ 40000
│ │ │ 2.412 GB/s │ 237.3 MB/s │ 2.369 GB/s │ 2.315 GB/s │ │
│ │ ├─ 16384 6.749 µs │ 27.33 µs │ 6.874 µs │ 7.021 µs │ 10000 │ 10000
│ │ │ 2.427 GB/s │ 599.4 MB/s │ 2.383 GB/s │ 2.333 GB/s │ │
│ │ ├─ 65536 27.16 µs │ 48.99 µs │ 27.37 µs │ 27.71 µs │ 10000 │ 10000
│ │ │ 2.412 GB/s │ 1.337 GB/s │ 2.394 GB/s │ 2.364 GB/s │ │
│ │ ╰─ 1048576 434.8 µs │ 541.7 µs │ 437.3 µs │ 439.8 µs │ 10000 │ 10000
│ │ 2.411 GB/s │ 1.935 GB/s │ 2.397 GB/s │ 2.383 GB/s │ │
│ ├─ sha2_384 │ │ │ │ │
│ │ ├─ 4096 2.582 µs │ 21.91 µs │ 2.666 µs │ 2.755 µs │ 10000 │ 10000
│ │ │ 1.586 GB/s │ 186.8 MB/s │ 1.536 GB/s │ 1.486 GB/s │ │
│ │ ├─ 16384 10.29 µs │ 26.87 µs │ 10.41 µs │ 10.61 µs │ 10000 │ 10000
│ │ │ 1.592 GB/s │ 609.6 MB/s │ 1.573 GB/s │ 1.544 GB/s │ │
│ │ ├─ 65536 41.2 µs │ 145.8 µs │ 41.29 µs │ 41.89 µs │ 10000 │ 10000
│ │ │ 1.59 GB/s │ 449.3 MB/s │ 1.587 GB/s │ 1.564 GB/s │ │
│ │ ╰─ 1048576 659.3 µs │ 816.7 µs │ 662.4 µs │ 663.9 µs │ 10000 │ 10000
│ │ 1.59 GB/s │ 1.283 GB/s │ 1.582 GB/s │ 1.579 GB/s │ │
│ ├─ sha2_512 │ │ │ │ │
│ │ ├─ 4096 2.603 µs │ 9.583 µs │ 2.666 µs │ 2.724 µs │ 10000 │ 20000
│ │ │ 1.573 GB/s │ 427.4 MB/s │ 1.536 GB/s │ 1.503 GB/s │ │
│ │ ├─ 16384 10.29 µs │ 31.49 µs │ 10.41 µs │ 10.57 µs │ 10000 │ 10000
│ │ │ 1.592 GB/s │ 520.1 MB/s │ 1.573 GB/s │ 1.549 GB/s │ │
│ │ ├─ 65536 41.2 µs │ 85.91 µs │ 41.29 µs │ 41.76 µs │ 10000 │ 10000
│ │ │ 1.59 GB/s │ 762.7 MB/s │ 1.587 GB/s │ 1.569 GB/s │ │
│ │ ╰─ 1048576 659.3 µs │ 888.7 µs │ 662.7 µs │ 664.7 µs │ 10000 │ 10000
│ │ 1.59 GB/s │ 1.179 GB/s │ 1.582 GB/s │ 1.577 GB/s │ │
│ ├─ sha3_256 │ │ │ │ │
│ │ ├─ 4096 6.54 µs │ 22.24 µs │ 6.707 µs │ 6.812 µs │ 10000 │ 10000
│ │ │ 626.2 MB/s │ 184 MB/s │ 610.6 MB/s │ 601.2 MB/s │ │
│ │ ├─ 16384 25.58 µs │ 48.2 µs │ 26.04 µs │ 26.33 µs │ 10000 │ 10000
│ │ │ 640.4 MB/s │ 339.8 MB/s │ 629.1 MB/s │ 622.1 MB/s │ │
│ │ ├─ 65536 102.7 µs │ 151.3 µs │ 103.5 µs │ 104.3 µs │ 10000 │ 10000
│ │ │ 638 MB/s │ 432.9 MB/s │ 632.6 MB/s │ 628.1 MB/s │ │
│ │ ╰─ 1048576 1.657 ms │ 2.355 ms │ 1.67 ms │ 1.677 ms │ 10000 │ 10000
│ │ 632.6 MB/s │ 445.1 MB/s │ 627.7 MB/s │ 625.1 MB/s │ │
│ ├─ sha3_384 │ │ │ │ │
│ │ ├─ 4096 8.457 µs │ 28.2 µs │ 8.624 µs │ 8.796 µs │ 10000 │ 10000
│ │ │ 484.2 MB/s │ 145.2 MB/s │ 474.9 MB/s │ 465.6 MB/s │ │
│ │ ├─ 16384 33.49 µs │ 63.91 µs │ 33.91 µs │ 34.26 µs │ 10000 │ 10000
│ │ │ 489 MB/s │ 256.3 MB/s │ 483 MB/s │ 478.1 MB/s │ │
│ │ ├─ 65536 134.4 µs │ 185.9 µs │ 135.3 µs │ 136.2 µs │ 10000 │ 10000
│ │ │ 487.4 MB/s │ 352.3 MB/s │ 484.1 MB/s │ 481 MB/s │ │
│ │ ╰─ 1048576 2.165 ms │ 2.542 ms │ 2.177 ms │ 2.184 ms │ 10000 │ 10000
│ │ 484.2 MB/s │ 412.3 MB/s │ 481.5 MB/s │ 479.9 MB/s │ │
│ ╰─ sha3_512 │ │ │ │ │
│ ├─ 4096 11.99 µs │ 29.7 µs │ 12.2 µs │ 12.46 µs │ 10000 │ 10000
│ │ 341.3 MB/s │ 137.8 MB/s │ 335.5 MB/s │ 328.6 MB/s │ │
│ ├─ 16384 48.12 µs │ 72.95 µs │ 48.7 µs │ 49.28 µs │ 10000 │ 10000
│ │ 340.4 MB/s │ 224.5 MB/s │ 336.3 MB/s │ 332.4 MB/s │ │
│ ├─ 65536 193.6 µs │ 266.1 µs │ 194.4 µs │ 195.8 µs │ 10000 │ 10000
│ │ 338.3 MB/s │ 246.2 MB/s │ 336.9 MB/s │ 334.6 MB/s │ │
│ ╰─ 1048576 3.11 ms │ 3.571 ms │ 3.126 ms │ 3.134 ms │ 10000 │ 10000
│ 337.1 MB/s │ 293.5 MB/s │ 335.3 MB/s │ 334.5 MB/s │ │
╰─ non_crypto │ │ │ │ │
├─ adler │ │ │ │ │
│ ├─ 4096 624.5 ns │ 2.655 µs │ 645.4 ns │ 665.1 ns │ 10000 │ 80000
│ │ 6.557 GB/s │ 1.542 GB/s │ 6.345 GB/s │ 6.157 GB/s │ │
│ ├─ 16384 2.52 µs │ 12.08 µs │ 2.562 µs │ 2.632 µs │ 10000 │ 20000
│ │ 6.5 GB/s │ 1.356 GB/s │ 6.394 GB/s │ 6.222 GB/s │ │
│ ├─ 65536 10.79 µs │ 35.66 µs │ 11.24 µs │ 11.48 µs │ 10000 │ 10000
│ │ 6.073 GB/s │ 1.837 GB/s │ 5.825 GB/s │ 5.705 GB/s │ │
│ ╰─ 1048576 171.4 µs │ 263.5 µs │ 183.6 µs │ 181.9 µs │ 10000 │ 10000
│ 6.117 GB/s │ 3.978 GB/s │ 5.709 GB/s │ 5.762 GB/s │ │
╰─ crc │ │ │ │ │
├─ 4096 442.3 ns │ 3.874 µs │ 457.9 ns │ 473.8 ns │ 10000 │ 80000
│ 9.259 GB/s │ 1.057 GB/s │ 8.944 GB/s │ 8.643 GB/s │ │
├─ 16384 1.812 µs │ 12.1 µs │ 1.874 µs │ 1.96 µs │ 10000 │ 20000
│ 9.041 GB/s │ 1.353 GB/s │ 8.74 GB/s │ 8.357 GB/s │ │
├─ 65536 7.374 µs │ 34.37 µs │ 7.499 µs │ 7.699 µs │ 10000 │ 10000
│ 8.886 GB/s │ 1.906 GB/s │ 8.738 GB/s │ 8.511 GB/s │ │
╰─ 1048576 119.5 µs │ 156.7 µs │ 119.7 µs │ 120.4 µs │ 10000 │ 10000
8.768 GB/s │ 6.687 GB/s │ 8.759 GB/s │ 8.702 GB/s │ │
Note
This is running without many hardware accelerations enabled, as these were not compiling on windows
blake3_mt - 27.2 GB/s
crc32 - 15.5 GB/s
adler - 7.90 GB/s
blake3 - 5.54 GB/s
sha1 - 2.31 GB/s
sha2_256 - 2.16 GB/s
blake2b - 1.40 GB/s
blake2s - 843 MB/s
sha2_384 - 742 MB/s
sha2_512 - 711 MB/s
md5 - 612 MB/s
sha3_256 - 475 MB/s
sha3_384 - 360 MB/s
sha3_512 - 249 MB/s
Expand full test info
Timer precision: 100 ns
checksums fastest │ slowest │ median │ mean │ samples │ iters
├─ crypto │ │ │ │ │
│ ├─ blake │ │ │ │ │
│ │ ├─ blake2b │ │ │ │ │
│ │ │ ├─ 4096 2.849 µs │ 2.899 µs │ 2.874 µs │ 2.875 µs │ 100 │ 400
│ │ │ │ 1.437 GB/s │ 1.412 GB/s │ 1.424 GB/s │ 1.424 GB/s │ │
│ │ │ ├─ 16384 11.39 µs │ 16.79 µs │ 11.49 µs │ 11.52 µs │ 100 │ 100
│ │ │ │ 1.437 GB/s │ 975.2 MB/s │ 1.424 GB/s │ 1.421 GB/s │ │
│ │ │ ├─ 65536 45.79 µs │ 69.49 µs │ 45.79 µs │ 46.23 µs │ 100 │ 100
│ │ │ │ 1.43 GB/s │ 942.9 MB/s │ 1.43 GB/s │ 1.417 GB/s │ │
│ │ │ ╰─ 1048576 735.5 µs │ 1.05 ms │ 743.6 µs │ 747.7 µs │ 100 │ 100
│ │ │ 1.425 GB/s │ 997.6 MB/s │ 1.409 GB/s │ 1.402 GB/s │ │
│ │ ├─ blake2s │ │ │ │ │
│ │ │ ├─ 4096 4.849 µs │ 36.87 µs │ 4.924 µs │ 5.686 µs │ 100 │ 400
│ │ │ │ 844.5 MB/s │ 111 MB/s │ 831.7 MB/s │ 720.3 MB/s │ │
│ │ │ ├─ 16384 19.09 µs │ 106.8 µs │ 19.19 µs │ 20.1 µs │ 100 │ 100
│ │ │ │ 857.8 MB/s │ 153.2 MB/s │ 853.3 MB/s │ 814.8 MB/s │ │
│ │ │ ├─ 65536 76.39 µs │ 162.8 µs │ 76.89 µs │ 78.82 µs │ 100 │ 100
│ │ │ │ 857.8 MB/s │ 402.3 MB/s │ 852.2 MB/s │ 831.4 MB/s │ │
│ │ │ ╰─ 1048576 1.225 ms │ 1.401 ms │ 1.237 ms │ 1.242 ms │ 100 │ 100
│ │ │ 855.5 MB/s │ 748 MB/s │ 847.1 MB/s │ 843.9 MB/s │ │
│ │ ├─ blake3 │ │ │ │ │
│ │ │ ├─ 4096 1.299 µs │ 17.79 µs │ 1.399 µs │ 1.565 µs │ 100 │ 100
│ │ │ │ 3.151 GB/s │ 230.1 MB/s │ 2.926 GB/s │ 2.615 GB/s │ │
│ │ │ ├─ 16384 2.874 µs │ 7.324 µs │ 2.899 µs │ 3.245 µs │ 100 │ 400
│ │ │ │ 5.699 GB/s │ 2.236 GB/s │ 5.65 GB/s │ 5.048 GB/s │ │
│ │ │ ├─ 65536 10.89 µs │ 51.59 µs │ 10.89 µs │ 11.91 µs │ 100 │ 100
│ │ │ │ 6.012 GB/s │ 1.27 GB/s │ 6.012 GB/s │ 5.498 GB/s │ │
│ │ │ ╰─ 1048576 177.5 µs │ 364.3 µs │ 178.8 µs │ 189.1 µs │ 100 │ 100
│ │ │ 5.904 GB/s │ 2.877 GB/s │ 5.861 GB/s │ 5.544 GB/s │ │
│ │ ╰─ blake3_mt │ │ │ │ │
│ │ ├─ 4096 1.081 µs │ 5.143 µs │ 1.087 µs │ 1.137 µs │ 100 │ 1600
│ │ │ 3.788 GB/s │ 796.3 MB/s │ 3.767 GB/s │ 3.599 GB/s │ │
│ │ ├─ 16384 3.099 µs │ 402.3 µs │ 3.999 µs │ 14.26 µs │ 100 │ 100
│ │ │ 5.285 GB/s │ 40.71 MB/s │ 4.096 GB/s │ 1.148 GB/s │ │
│ │ ├─ 65536 8.499 µs │ 32.99 µs │ 12.09 µs │ 13.48 µs │ 100 │ 100
│ │ │ 7.71 GB/s │ 1.985 GB/s │ 5.416 GB/s │ 4.858 GB/s │ │
│ │ ╰─ 1048576 31.69 µs │ 117.3 µs │ 35.49 µs │ 38.48 µs │ 100 │ 100
│ │ 33.07 GB/s │ 8.931 GB/s │ 29.53 GB/s │ 27.24 GB/s │ │
│ ├─ md │ │ │ │ │
│ │ ╰─ md5 │ │ │ │ │
│ │ ├─ 4096 6.499 µs │ 7.599 µs │ 6.549 µs │ 6.584 µs │ 100 │ 200
│ │ │ 630.1 MB/s │ 538.9 MB/s │ 625.3 MB/s │ 622 MB/s │ │
│ │ ├─ 16384 26.29 µs │ 29.79 µs │ 26.49 µs │ 26.56 µs │ 100 │ 100
│ │ │ 622.9 MB/s │ 549.8 MB/s │ 618.2 MB/s │ 616.8 MB/s │ │
│ │ ├─ 65536 102.3 µs │ 289.7 µs │ 102.9 µs │ 111.8 µs │ 100 │ 100
│ │ │ 640 MB/s │ 226.1 MB/s │ 636.2 MB/s │ 585.7 MB/s │ │
│ │ ╰─ 1048576 1.628 ms │ 1.956 ms │ 1.706 ms │ 1.711 ms │ 100 │ 100
│ │ 644 MB/s │ 536 MB/s │ 614.5 MB/s │ 612.8 MB/s │ │
│ ╰─ sha │ │ │ │ │
│ ├─ sha1 │ │ │ │ │
│ │ ├─ 4096 1.699 µs │ 11.49 µs │ 1.799 µs │ 1.915 µs │ 100 │ 100
│ │ │ 2.409 GB/s │ 356.1 MB/s │ 2.275 GB/s │ 2.138 GB/s │ │
│ │ ├─ 16384 6.799 µs │ 6.849 µs │ 6.849 µs │ 6.844 µs │ 100 │ 200
│ │ │ 2.409 GB/s │ 2.391 GB/s │ 2.391 GB/s │ 2.393 GB/s │ │
│ │ ├─ 65536 26.79 µs │ 33.79 µs │ 26.99 µs │ 28.91 µs │ 100 │ 100
│ │ │ 2.445 GB/s │ 1.938 GB/s │ 2.427 GB/s │ 2.266 GB/s │ │
│ │ ╰─ 1048576 426.5 µs │ 638.8 µs │ 428.9 µs │ 452 µs │ 100 │ 100
│ │ 2.457 GB/s │ 1.641 GB/s │ 2.444 GB/s │ 2.319 GB/s │ │
│ ├─ sha2_256 │ │ │ │ │
│ │ ├─ 4096 1.824 µs │ 3.524 µs │ 1.824 µs │ 1.846 µs │ 100 │ 800
│ │ │ 2.244 GB/s │ 1.162 GB/s │ 2.244 GB/s │ 2.218 GB/s │ │
│ │ ├─ 16384 7.149 µs │ 59.24 µs │ 7.199 µs │ 7.717 µs │ 100 │ 200
│ │ │ 2.291 GB/s │ 276.5 MB/s │ 2.275 GB/s │ 2.122 GB/s │ │
│ │ ├─ 65536 28.59 µs │ 116.8 µs │ 28.59 µs │ 29.53 µs │ 100 │ 100
│ │ │ 2.291 GB/s │ 560.6 MB/s │ 2.291 GB/s │ 2.219 GB/s │ │
│ │ ╰─ 1048576 457.4 µs │ 805.2 µs │ 462.5 µs │ 483.7 µs │ 100 │ 100
│ │ 2.291 GB/s │ 1.302 GB/s │ 2.266 GB/s │ 2.167 GB/s │ │
│ ├─ sha2_384 │ │ │ │ │
│ │ ├─ 4096 5.599 µs │ 17.09 µs │ 6.999 µs │ 6.54 µs │ 100 │ 100
│ │ │ 731.4 MB/s │ 239.5 MB/s │ 585.1 MB/s │ 626.2 MB/s │ │
│ │ ├─ 16384 21.79 µs │ 28.59 µs │ 21.79 µs │ 22.39 µs │ 100 │ 100
│ │ │ 751.5 MB/s │ 572.8 MB/s │ 751.5 MB/s │ 731.6 MB/s │ │
│ │ ├─ 65536 86.39 µs │ 87.49 µs │ 86.89 µs │ 86.83 µs │ 100 │ 100
│ │ │ 758.5 MB/s │ 748.9 MB/s │ 754.1 MB/s │ 754.7 MB/s │ │
│ │ ╰─ 1048576 1.378 ms │ 1.692 ms │ 1.397 ms │ 1.412 ms │ 100 │ 100
│ │ 760.5 MB/s │ 619.3 MB/s │ 750.3 MB/s │ 742.3 MB/s │ │
│ ├─ sha2_512 │ │ │ │ │
│ │ ├─ 4096 5.649 µs │ 5.749 µs │ 5.699 µs │ 5.69 µs │ 100 │ 200
│ │ │ 724.9 MB/s │ 712.3 MB/s │ 718.6 MB/s │ 719.7 MB/s │ │
│ │ ├─ 16384 21.89 µs │ 51.69 µs │ 21.89 µs │ 22.3 µs │ 100 │ 100
│ │ │ 748.1 MB/s │ 316.9 MB/s │ 748.1 MB/s │ 734.4 MB/s │ │
│ │ ├─ 65536 86.39 µs │ 171.4 µs │ 86.89 µs │ 89.31 µs │ 100 │ 100
│ │ │ 758.5 MB/s │ 382.1 MB/s │ 754.1 MB/s │ 733.7 MB/s │ │
│ │ ╰─ 1048576 1.387 ms │ 2.055 ms │ 1.445 ms │ 1.473 ms │ 100 │ 100
│ │ 755.4 MB/s │ 510 MB/s │ 725.4 MB/s │ 711.8 MB/s │ │
│ ├─ sha3_256 │ │ │ │ │
│ │ ├─ 4096 8.499 µs │ 16.74 µs │ 8.549 µs │ 8.67 µs │ 100 │ 200
│ │ │ 481.8 MB/s │ 244.5 MB/s │ 479 MB/s │ 472.3 MB/s │ │
│ │ ├─ 16384 32.79 µs │ 124.9 µs │ 32.99 µs │ 34.37 µs │ 100 │ 100
│ │ │ 499.5 MB/s │ 131 MB/s │ 496.4 MB/s │ 476.6 MB/s │ │
│ │ ├─ 65536 129.3 µs │ 190.6 µs │ 131.6 µs │ 134.3 µs │ 100 │ 100
│ │ │ 506.4 MB/s │ 343.6 MB/s │ 497.6 MB/s │ 487.6 MB/s │ │
│ │ ╰─ 1048576 2.112 ms │ 2.48 ms │ 2.201 ms │ 2.203 ms │ 100 │ 100
│ │ 496.4 MB/s │ 422.7 MB/s │ 476.3 MB/s │ 475.7 MB/s │ │
│ ├─ sha3_384 │ │ │ │ │
│ │ ├─ 4096 11.09 µs │ 98.79 µs │ 11.09 µs │ 12.23 µs │ 100 │ 100
│ │ │ 369 MB/s │ 41.45 MB/s │ 369 MB/s │ 334.6 MB/s │ │
│ │ ├─ 16384 43.59 µs │ 55.09 µs │ 43.89 µs │ 44.07 µs │ 100 │ 100
│ │ │ 375.7 MB/s │ 297.3 MB/s │ 373.2 MB/s │ 371.7 MB/s │ │
│ │ ├─ 65536 173.6 µs │ 280 µs │ 174.6 µs │ 182.6 µs │ 100 │ 100
│ │ │ 377.2 MB/s │ 233.9 MB/s │ 375.1 MB/s │ 358.8 MB/s │ │
│ │ ╰─ 1048576 2.795 ms │ 3.227 ms │ 2.895 ms │ 2.912 ms │ 100 │ 100
│ │ 375 MB/s │ 324.9 MB/s │ 362.1 MB/s │ 360 MB/s │ │
│ ╰─ sha3_512 │ │ │ │ │
│ ├─ 4096 15.69 µs │ 104.6 µs │ 15.79 µs │ 16.7 µs │ 100 │ 100
│ │ 260.8 MB/s │ 39.12 MB/s │ 259.2 MB/s │ 245.1 MB/s │ │
│ ├─ 16384 62.99 µs │ 146.5 µs │ 63.09 µs │ 64.37 µs │ 100 │ 100
│ │ 260 MB/s │ 111.7 MB/s │ 259.6 MB/s │ 254.5 MB/s │ │
│ ├─ 65536 251.2 µs │ 334.3 µs │ 251.8 µs │ 258.2 µs │ 100 │ 100
│ │ 260.7 MB/s │ 195.9 MB/s │ 260.1 MB/s │ 253.7 MB/s │ │
│ ╰─ 1048576 4.087 ms │ 4.594 ms │ 4.17 ms │ 4.196 ms │ 100 │ 100
│ 256.5 MB/s │ 228.2 MB/s │ 251.4 MB/s │ 249.8 MB/s │ │
╰─ non_crypto │ │ │ │ │
├─ adler │ │ │ │ │
│ ├─ 4096 590.4 ns │ 821.6 ns │ 593.5 ns │ 598.4 ns │ 100 │ 3200
│ │ 6.937 GB/s │ 4.985 GB/s │ 6.901 GB/s │ 6.844 GB/s │ │
│ ├─ 16384 2.299 µs │ 6.324 µs │ 2.324 µs │ 2.382 µs │ 100 │ 800
│ │ 7.124 GB/s │ 2.59 GB/s │ 7.047 GB/s │ 6.877 GB/s │ │
│ ├─ 65536 8.499 µs │ 52.89 µs │ 8.499 µs │ 9.03 µs │ 100 │ 200
│ │ 7.71 GB/s │ 1.238 GB/s │ 7.71 GB/s │ 7.257 GB/s │ │
│ ╰─ 1048576 128.8 µs │ 155.8 µs │ 130.3 µs │ 132.5 µs │ 100 │ 100
│ 8.134 GB/s │ 6.725 GB/s │ 8.041 GB/s │ 7.908 GB/s │ │
╰─ crc │ │ │ │ │
├─ 4096 256 ns │ 4.274 µs │ 321.6 ns │ 344.6 ns │ 100 │ 3200
│ 15.99 GB/s │ 958.1 MB/s │ 12.73 GB/s │ 11.88 GB/s │ │
├─ 16384 1.024 µs │ 7.293 µs │ 1.031 µs │ 1.15 µs │ 100 │ 1600
│ 15.98 GB/s │ 2.246 GB/s │ 15.89 GB/s │ 14.23 GB/s │ │
├─ 65536 4.049 µs │ 9.799 µs │ 4.074 µs │ 4.137 µs │ 100 │ 400
│ 16.18 GB/s │ 6.687 GB/s │ 16.08 GB/s │ 15.84 GB/s │ │
╰─ 1048576 64.59 µs │ 90.49 µs │ 65.04 µs │ 67.58 µs │ 100 │ 100
16.23 GB/s │ 11.58 GB/s │ 16.11 GB/s │ 15.51 GB/s │ │
crc32 - 16.3 GB/s
blake3_mt - 11.1 GB/s
adler - 4.68 GB/s
blake3 - 2.70 GB/s
sha2_256 - 2.04 GB/s
sha1 - 1.91 GB/s
blake2b - 921 MB/s
blake2s - 642 MB/s
md5 - 553 MB/s
sha2_512 - 511 MB/s
sha2_384 - 511 MB/s
sha3_256 - 462 MB/s
sha3_384 - 353 MB/s
sha3_512 - 244 MB/s
Expand full test info
Timer precision: 3.26 µs
checksums fastest │ slowest │ median │ mean │ samples │ iters
├─ crypto │ │ │ │ │
│ ├─ blake │ │ │ │ │
│ │ ├─ blake2b │ │ │ │ │
│ │ │ ├─ 4096 4.404 µs │ 8.316 µs │ 4.48 µs │ 4.537 µs │ 10000 │ 1280000
│ │ │ │ 929.9 MB/s │ 492.5 MB/s │ 914.1 MB/s │ 902.7 MB/s │ │
│ │ │ ├─ 16384 17.45 µs │ 25.18 µs │ 17.67 µs │ 17.83 µs │ 10000 │ 320000
│ │ │ │ 938.6 MB/s │ 650.5 MB/s │ 926.9 MB/s │ 918.8 MB/s │ │
│ │ │ ├─ 65536 69.83 µs │ 101.9 µs │ 70.78 µs │ 71.33 µs │ 10000 │ 80000
│ │ │ │ 938.4 MB/s │ 642.8 MB/s │ 925.7 MB/s │ 918.7 MB/s │ │
│ │ │ ╰─ 1048576 1.114 ms │ 2.24 ms │ 1.129 ms │ 1.137 ms │ 10000 │ 10000
│ │ │ 941.1 MB/s │ 468 MB/s │ 928.2 MB/s │ 921.9 MB/s │ │
│ │ ├─ blake2s │ │ │ │ │
│ │ │ ├─ 4096 6.213 µs │ 12.53 µs │ 6.334 µs │ 6.391 µs │ 10000 │ 640000
│ │ │ │ 659.1 MB/s │ 326.8 MB/s │ 646.6 MB/s │ 640.8 MB/s │ │
│ │ │ ├─ 16384 24.93 µs │ 62.03 µs │ 25.4 µs │ 25.59 µs │ 10000 │ 160000
│ │ │ │ 657 MB/s │ 264.1 MB/s │ 645 MB/s │ 640.2 MB/s │ │
│ │ │ ├─ 65536 100 µs │ 212.3 µs │ 101.5 µs │ 102.6 µs │ 10000 │ 40000
│ │ │ │ 654.8 MB/s │ 308.6 MB/s │ 645.3 MB/s │ 638.2 MB/s │ │
│ │ │ ╰─ 1048576 1.596 ms │ 2.15 ms │ 1.633 ms │ 1.632 ms │ 10000 │ 10000
│ │ │ 656.8 MB/s │ 487.5 MB/s │ 641.9 MB/s │ 642.1 MB/s │ │
│ │ ├─ blake3 │ │ │ │ │
│ │ │ ├─ 4096 2.268 µs │ 3.852 µs │ 2.304 µs │ 2.323 µs │ 10000 │ 2560000
│ │ │ │ 1.805 GB/s │ 1.063 GB/s │ 1.777 GB/s │ 1.763 GB/s │ │
│ │ │ ├─ 16384 5.954 µs │ 6.787 µs │ 6.047 µs │ 6.106 µs │ 10000 │ 640000
│ │ │ │ 2.751 GB/s │ 2.413 GB/s │ 2.709 GB/s │ 2.682 GB/s │ │
│ │ │ ├─ 65536 23.55 µs │ 45.39 µs │ 23.86 µs │ 24.14 µs │ 10000 │ 160000
│ │ │ │ 2.782 GB/s │ 1.443 GB/s │ 2.745 GB/s │ 2.714 GB/s │ │
│ │ │ ╰─ 1048576 376.8 µs │ 869.3 µs │ 382.8 µs │ 388.3 µs │ 10000 │ 10000
│ │ │ 2.782 GB/s │ 1.206 GB/s │ 2.739 GB/s │ 2.699 GB/s │ │
│ │ ╰─ blake3_mt │ │ │ │ │
│ │ ├─ 4096 2.266 µs │ 3.907 µs │ 2.302 µs │ 2.323 µs │ 10000 │ 2560000
│ │ │ 1.807 GB/s │ 1.048 GB/s │ 1.778 GB/s │ 1.762 GB/s │ │
│ │ ├─ 16384 10.9 µs │ 1.401 ms │ 63.22 µs │ 65.01 µs │ 10000 │ 10000
│ │ │ 1.501 GB/s │ 11.69 MB/s │ 259.1 MB/s │ 252 MB/s │ │
│ │ ├─ 65536 17.87 µs │ 583.4 µs │ 140.3 µs │ 134.6 µs │ 10000 │ 20000
│ │ │ 3.665 GB/s │ 112.3 MB/s │ 466.7 MB/s │ 486.6 MB/s │ │
│ │ ╰─ 1048576 76.29 µs │ 693.5 µs │ 84.62 µs │ 94.19 µs │ 10000 │ 40000
│ │ 13.74 GB/s │ 1.511 GB/s │ 12.39 GB/s │ 11.13 GB/s │ │
│ ├─ md │ │ │ │ │
│ │ ╰─ md5 │ │ │ │ │
│ │ ├─ 4096 7.402 µs │ 12.17 µs │ 7.536 µs │ 7.633 µs │ 10000 │ 640000
│ │ │ 553.3 MB/s │ 336.5 MB/s │ 543.5 MB/s │ 536.6 MB/s │ │
│ │ ├─ 16384 29.22 µs │ 46.76 µs │ 29.67 µs │ 29.95 µs │ 10000 │ 160000
│ │ │ 560.5 MB/s │ 350.3 MB/s │ 552.1 MB/s │ 546.9 MB/s │ │
│ │ ├─ 65536 116.7 µs │ 192.7 µs │ 117.7 µs │ 119.2 µs │ 10000 │ 40000
│ │ │ 561.2 MB/s │ 340 MB/s │ 556.5 MB/s │ 549.5 MB/s │ │
│ │ ╰─ 1048576 1.863 ms │ 2.265 ms │ 1.893 ms │ 1.894 ms │ 10000 │ 10000
│ │ 562.7 MB/s │ 462.9 MB/s │ 553.6 MB/s │ 553.3 MB/s │ │
│ ╰─ sha │ │ │ │ │
│ ├─ sha1 │ │ │ │ │
│ │ ├─ 4096 2.135 µs │ 3.819 µs │ 2.16 µs │ 2.18 µs │ 10000 │ 2560000
│ │ │ 1.917 GB/s │ 1.072 GB/s │ 1.895 GB/s │ 1.878 GB/s │ │
│ │ ├─ 16384 8.389 µs │ 13.41 µs │ 8.515 µs │ 8.592 µs │ 10000 │ 640000
│ │ │ 1.953 GB/s │ 1.221 GB/s │ 1.923 GB/s │ 1.906 GB/s │ │
│ │ ├─ 65536 33.57 µs │ 49.3 µs │ 33.88 µs │ 34.18 µs │ 10000 │ 160000
│ │ │ 1.951 GB/s │ 1.329 GB/s │ 1.934 GB/s │ 1.917 GB/s │ │
│ │ ╰─ 1048576 536 µs │ 646.5 µs │ 542.9 µs │ 547.9 µs │ 10000 │ 10000
│ │ 1.956 GB/s │ 1.621 GB/s │ 1.931 GB/s │ 1.913 GB/s │ │
│ ├─ sha2_256 │ │ │ │ │
│ │ ├─ 4096 1.994 µs │ 3.258 µs │ 2.02 µs │ 2.038 µs │ 10000 │ 2560000
│ │ │ 2.053 GB/s │ 1.257 GB/s │ 2.026 GB/s │ 2.008 GB/s │ │
│ │ ├─ 16384 7.86 µs │ 11.67 µs │ 7.956 µs │ 8.033 µs │ 10000 │ 640000
│ │ │ 2.084 GB/s │ 1.403 GB/s │ 2.059 GB/s │ 2.039 GB/s │ │
│ │ ├─ 65536 31.29 µs │ 36.76 µs │ 31.83 µs │ 32.05 µs │ 10000 │ 160000
│ │ │ 2.094 GB/s │ 1.782 GB/s │ 2.058 GB/s │ 2.044 GB/s │ │
│ │ ╰─ 1048576 500.1 µs │ 708.1 µs │ 509.8 µs │ 513.1 µs │ 10000 │ 10000
│ │ 2.096 GB/s │ 1.48 GB/s │ 2.056 GB/s │ 2.043 GB/s │ │
│ ├─ sha2_384 │ │ │ │ │
│ │ ├─ 4096 8.144 µs │ 15.6 µs │ 8.263 µs │ 8.326 µs │ 10000 │ 640000
│ │ │ 502.9 MB/s │ 262.4 MB/s │ 495.6 MB/s │ 491.9 MB/s │ │
│ │ ├─ 16384 28.41 µs │ 44.87 µs │ 32.27 µs │ 32.59 µs │ 10000 │ 160000
│ │ │ 576.6 MB/s │ 365.1 MB/s │ 507.5 MB/s │ 502.7 MB/s │ │
│ │ ├─ 65536 126.4 µs │ 177.2 µs │ 128.1 µs │ 129.1 µs │ 10000 │ 40000
│ │ │ 518.3 MB/s │ 369.7 MB/s │ 511.5 MB/s │ 507.4 MB/s │ │
│ │ ╰─ 1048576 2.015 ms │ 2.333 ms │ 2.052 ms │ 2.052 ms │ 10000 │ 10000
│ │ 520.3 MB/s │ 449.2 MB/s │ 510.8 MB/s │ 510.8 MB/s │ │
│ ├─ sha2_512 │ │ │ │ │
│ │ ├─ 4096 8.124 µs │ 11.3 µs │ 8.266 µs │ 8.36 µs │ 10000 │ 640000
│ │ │ 504.1 MB/s │ 362.2 MB/s │ 495.4 MB/s │ 489.9 MB/s │ │
│ │ ├─ 16384 31.7 µs │ 49.96 µs │ 32.27 µs │ 32.68 µs │ 10000 │ 160000
│ │ │ 516.7 MB/s │ 327.9 MB/s │ 507.6 MB/s │ 501.2 MB/s │ │
│ │ ├─ 65536 126.2 µs │ 153.7 µs │ 128.1 µs │ 129.7 µs │ 10000 │ 40000
│ │ │ 519 MB/s │ 426.3 MB/s │ 511.4 MB/s │ 505.1 MB/s │ │
│ │ ╰─ 1048576 2.012 ms │ 2.49 ms │ 2.051 ms │ 2.051 ms │ 10000 │ 10000
│ │ 521 MB/s │ 421 MB/s │ 511.1 MB/s │ 511 MB/s │ │
│ ├─ sha3_256 │ │ │ │ │
│ │ ├─ 4096 9.026 µs │ 13.9 µs │ 9.275 µs │ 9.34 µs │ 10000 │ 640000
│ │ │ 453.7 MB/s │ 294.4 MB/s │ 441.6 MB/s │ 438.5 MB/s │ │
│ │ ├─ 16384 35.11 µs │ 64.52 µs │ 35.67 µs │ 35.87 µs │ 10000 │ 160000
│ │ │ 466.5 MB/s │ 253.9 MB/s │ 459.1 MB/s │ 456.7 MB/s │ │
│ │ ├─ 65536 139.2 µs │ 251 µs │ 141.6 µs │ 142.7 µs │ 10000 │ 40000
│ │ │ 470.7 MB/s │ 261 MB/s │ 462.6 MB/s │ 459 MB/s │ │
│ │ ╰─ 1048576 2.235 ms │ 2.666 ms │ 2.268 ms │ 2.271 ms │ 10000 │ 10000
│ │ 469 MB/s │ 393.3 MB/s │ 462.2 MB/s │ 461.6 MB/s │ │
│ ├─ sha3_384 │ │ │ │ │
│ │ ├─ 4096 11.6 µs │ 27.22 µs │ 11.77 µs │ 11.88 µs │ 10000 │ 320000
│ │ │ 352.8 MB/s │ 150.4 MB/s │ 347.8 MB/s │ 344.5 MB/s │ │
│ │ ├─ 16384 45.71 µs │ 105.4 µs │ 46.77 µs │ 47.1 µs │ 10000 │ 80000
│ │ │ 358.4 MB/s │ 155.3 MB/s │ 350.2 MB/s │ 347.8 MB/s │ │
│ │ ├─ 65536 182.3 µs │ 231.2 µs │ 185.2 µs │ 187.2 µs │ 10000 │ 20000
│ │ │ 359.4 MB/s │ 283.4 MB/s │ 353.6 MB/s │ 350 MB/s │ │
│ │ ╰─ 1048576 2.915 ms │ 3.896 ms │ 2.961 ms │ 2.968 ms │ 10000 │ 10000
│ │ 359.6 MB/s │ 269.1 MB/s │ 354.1 MB/s │ 353.2 MB/s │ │
│ ╰─ sha3_512 │ │ │ │ │
│ ├─ 4096 16.38 µs │ 24.46 µs │ 16.74 µs │ 16.85 µs │ 10000 │ 320000
│ │ 250 MB/s │ 167.3 MB/s │ 244.5 MB/s │ 243 MB/s │ │
│ ├─ 16384 65.77 µs │ 75.67 µs │ 66.8 µs │ 67.2 µs │ 10000 │ 80000
│ │ 249.1 MB/s │ 216.4 MB/s │ 245.2 MB/s │ 243.7 MB/s │ │
│ ├─ 65536 262.5 µs │ 410.6 µs │ 267.3 µs │ 269.2 µs │ 10000 │ 20000
│ │ 249.6 MB/s │ 159.5 MB/s │ 245 MB/s │ 243.4 MB/s │ │
│ ╰─ 1048576 4.218 ms │ 6.898 ms │ 4.289 ms │ 4.294 ms │ 10000 │ 10000
│ 248.5 MB/s │ 151.9 MB/s │ 244.4 MB/s │ 244.1 MB/s │ │
╰─ non_crypto │ │ │ │ │
├─ adler │ │ │ │ │
│ ├─ 4096 653.3 ns │ 1.356 µs │ 668.3 ns │ 672.9 ns │ 10000 │ 5120000
│ │ 6.268 GB/s │ 3.018 GB/s │ 6.128 GB/s │ 6.086 GB/s │ │
│ ├─ 16384 2.577 µs │ 3.03 µs │ 2.624 µs │ 2.638 µs │ 10000 │ 1280000
│ │ 6.357 GB/s │ 5.407 GB/s │ 6.242 GB/s │ 6.21 GB/s │ │
│ ├─ 65536 12.31 µs │ 27.16 µs │ 12.73 µs │ 12.85 µs │ 10000 │ 320000
│ │ 5.321 GB/s │ 2.412 GB/s │ 5.146 GB/s │ 5.099 GB/s │ │
│ ╰─ 1048576 217.8 µs │ 397.6 µs │ 223 µs │ 224.1 µs │ 10000 │ 20000
│ 4.813 GB/s │ 2.636 GB/s │ 4.7 GB/s │ 4.677 GB/s │ │
╰─ crc │ │ │ │ │
├─ 4096 253.3 ns │ 284.7 ns │ 259 ns │ 259.4 ns │ 10000 │ 20480000
│ 16.16 GB/s │ 14.38 GB/s │ 15.81 GB/s │ 15.78 GB/s │ │
├─ 16384 989.5 ns │ 1.603 µs │ 1.007 µs │ 1.012 µs │ 10000 │ 5120000
│ 16.55 GB/s │ 10.21 GB/s │ 16.25 GB/s │ 16.17 GB/s │ │
├─ 65536 3.918 µs │ 5.189 µs │ 3.984 µs │ 4.012 µs │ 10000 │ 1280000
│ 16.72 GB/s │ 12.62 GB/s │ 16.44 GB/s │ 16.33 GB/s │ │
╰─ 1048576 62.83 µs │ 100.5 µs │ 63.75 µs │ 64.22 µs │ 10000 │ 80000
16.68 GB/s │ 10.42 GB/s │ 16.44 GB/s │ 16.32 GB/s │ │
crc32 - 15.8 GB/s
adler - 4.59 GB/s
blake3 - 4.50 GB/s
sha2_256 - 1.96 GB/s
sha1 - 1.80 GB/s
blake2b - 807 MB/s
Expand full test info
Timer precision: 20 ns
checksums fastest │ slowest │ median │ mean │ samples │ iters
├─ adler │ │ │ │ │
│ ├─ 4096 769.7 ns │ 37.39 µs │ 779.7 ns │ 788.3 ns │ 10000 │ 10000
│ ├─ 16384 2.979 µs │ 16.75 µs │ 2.999 µs │ 3.02 µs │ 10000 │ 10000
│ ├─ 65536 12.77 µs │ 51.32 µs │ 12.87 µs │ 12.97 µs │ 10000 │ 10000
│ ╰─ 1048576 209.5 µs │ 1.055 ms │ 212.4 µs │ 217.7 µs │ 10000 │ 10000
├─ blake2b_32 │ │ │ │ │
│ ├─ 4096 4.829 µs │ 17.51 µs │ 4.839 µs │ 4.875 µs │ 10000 │ 10000
│ ├─ 16384 19.19 µs │ 30.61 µs │ 19.21 µs │ 19.34 µs │ 10000 │ 10000
│ ├─ 65536 76.19 µs │ 112.3 µs │ 76.7 µs │ 77.22 µs │ 10000 │ 10000
│ ╰─ 1048576 1.221 ms │ 2.129 ms │ 1.237 ms │ 1.238 ms │ 10000 │ 10000
├─ blake3 │ │ │ │ │
│ ├─ 4096 1.389 µs │ 29.21 µs │ 1.409 µs │ 1.422 µs │ 10000 │ 10000
│ ├─ 16384 3.529 µs │ 9.489 µs │ 3.559 µs │ 3.583 µs │ 10000 │ 10000
│ ├─ 65536 13.76 µs │ 24.98 µs │ 13.89 µs │ 14.01 µs │ 10000 │ 10000
│ ╰─ 1048576 211.9 µs │ 356.1 µs │ 222.8 µs │ 222.2 µs │ 10000 │ 10000
├─ crc │ │ │ │ │
│ ├─ 4096 251 ns │ 2.617 µs │ 253.5 ns │ 256.1 ns │ 10000 │ 80000
│ ├─ 16384 1.004 µs │ 6.054 µs │ 1.009 µs │ 1.018 µs │ 10000 │ 20000
│ ├─ 65536 3.949 µs │ 13.85 µs │ 3.979 µs │ 3.998 µs │ 10000 │ 10000
│ ╰─ 1048576 59.31 µs │ 101.7 µs │ 63.28 µs │ 63.29 µs │ 10000 │ 10000
├─ sha1 │ │ │ │ │
│ ├─ 4096 2.209 µs │ 17.66 µs │ 2.229 µs │ 2.242 µs │ 10000 │ 10000
│ ├─ 16384 8.609 µs │ 18.16 µs │ 8.659 µs │ 8.692 µs │ 10000 │ 10000
│ ├─ 65536 34.43 µs │ 45.86 µs │ 34.44 µs │ 34.56 µs │ 10000 │ 10000
│ ╰─ 1048576 543.9 µs │ 567.9 µs │ 552.1 µs │ 552.2 µs │ 10000 │ 10000
╰─ sha256 │ │ │ │ │
├─ 4096 2.029 µs │ 11.79 µs │ 2.039 µs │ 2.05 µs │ 10000 │ 10000
├─ 16384 7.879 µs │ 28.27 µs │ 7.969 µs │ 8.02 µs │ 10000 │ 10000
├─ 65536 31.32 µs │ 57.85 µs │ 31.69 µs │ 31.96 µs │ 10000 │ 10000
╰─ 1048576 500.4 µs │ 538.8 µs │ 508.2 µs │ 508.9 µs │ 10000 │ 10000