Smhasher
Hash function quality and speed tests
Install / Use
/learn @rurban/SmhasherREADME
SMhasher
| Hash function | MiB/sec |cycl./hash|cycl./map | size| Quality problems | |:----------------------------------------------|-------------:|---------:|-----------:|----:|--------------------------------| | donothing32 | 11536809.55 | 4.00 | - | 13 | bad seed 0, test NOP | | donothing64 | 12269832.97 | 4.00 | - | 13 | bad seed 0, test NOP | | donothing128 | 11961841.48 | 4.08 | - | 13 | bad seed 0, test NOP | | NOP_OAAT_read64 | 11652662.97 | 14.00 | - | 47 | test NOP | | BadHash | 794.68 | 72.80 | - | 48 | bad seed 0, test FAIL | | sumhash | 10184.67 | 29.40 | - | 417 | bad seed 0, test FAIL | | sumhash32 | 44755.87 | 23.46 | - | 697 | UB, test FAIL | | multiply_shift | 8286.63 | 25.39 | 209.06 (2) | 345 | bad seeds & 0xfffffff0, fails most tests | | pair_multiply_shift| 5728.05 | 39.67 | 218.48 (12)| 609 | fails most tests | | -------------------------- | | | | | | | crc32 | 369.88 | 142.33 | 396.81 (101)|363 | insecure, 8590x collisions, distrib, PerlinNoise | | md5_32 | 359.43 | 638.92 | 865.21 (6) | 598 | | | md5_64 | 360.20 | 640.38 | 869.55 (6) | 662 | | | md5-128 | 344.63 | 669.59 | 856.34 (5) | 557 | | | sha1_32 | 353.03 | 1385.80 |1759.94 (5) |5126 | Sanity, Cyclic low32, 36.6% distrib | | sha1_64 | 353.03 | 1385.80 |1759.94 (5) |5126 | Sanity, Cyclic low32, 36.6% distrib | | sha1-160 | 364.95 | 1470.55 |1794.16 (13)|5126 | Comb/Cyclic low32 | | sha2-224 | 147.13 | 1354.81 |1589.92 (12)| 695 | Comb low32 | | sha2-224_64 | 147.60 | 1360.10 |1620.93 (13)| 600 | Cyclic low32 | | sha2-256 | 147.80 | 1374.90 |1606.06 (16)| 663 | | | sha2-256_64 | 148.01 | 1376.34 |1624.71 (16)| 600 | | | sha1ni | 1632.88 | 170.77 | 379.84 (5) |1321 | insecure,sanity, Permutation, Zeroes, machine-specific | | sha1ni_32 | 1583.50 | 172.17 | 387.70 (4) |1273 | machine-specific | | sha2ni-256 | 1556.66 | 180.75 | 393.79 (5) |1495 | insecure,sanity, Permutation, Zeroes, machine-specific | | sha2ni-256_64 | 1508.82 | 184.89 | 393.07 (6) |1409 | Zeroes, machine-specific | | blake3_c | 1298.04 | 354.25 | 563.63 (4) |16462| no 32bit portability | | rmd128 | 294.42 | 712.67 | 930.65 (4) | 950 | | | rmd160 | 202.16 | 1045.79 |1287.74 (16)| 950 | Cyclic hi32 | | rmd256 | 366.21 | 615.39 | 830.04 (7) |1026 | | | edonr224 | 863.77 | 304.76 | 496.66 (3) | 834 | | | edonr256 | 870.97 | 296.40 | 517.82 (6) | 834 | | | blake2s-128 | 295.30 | 698.09 |1059.24 (51)| 329 | | | blake2s-160 | 215.01 | 1026.74 |1239.54 (11)| 329 | | | blake2s-224 | 207.06 | 1063.86 |1236.50 (20)| 329 | | | blake2s-256 | 215.28 | 1014.88 |1230.38 (28)| 329 | | | blake2s-256_64 | 211.52 | 1044.22 |1228.43 (8) | 323 | | | blake2b-160 | 356.08 | 1236.84 |1458.15 (12)| 505 | | | blake2b-224 | 356.59 | 1228.50 |1425.87 (16)| 505 | | | blake2b-256 | 355.97 | 1232.22 |1443.31 (19)| 505 | | | blake2b-256_64 | 356.97 | 1222.76 |1435.03 (9) | 501 | | | asconhashv12 | 144.98 | 885.02 |1324.23 (38)|4341 | | | asconhashv12_64 | 159.33 | 402.54 | 473.15 (4) |6490 | | | sha3-256 | 100.58 | 3877.18 |4159.79 (37)|1686 | PerlinNoise | | sha3-256_64 | 100.57 | 3909.00 |4174.63 (16)|1630 | PerlinNoise | | hasshe2 | 2879.93 | 62.47 | 272.34 (2) | 505 | Permutation,TwoBytes,Zeroes,Seed| | poly_1_mersenne | 1278.37 | 63.42 | 244.41 (1) | 479 | fails most tests | | poly_2_mersenne | 1391.90 | 69.97 | 255.44 (3) | 479 | | | poly_3_mersenne | 1320.15 | 80.81 | 263.12 (2) | 479 | | | poly_4_mersenne | 1393.93 | 89.07 | 262.97 (2) | 479 | | | tabulation32 | 5819.40 | 40.16 | 233.00 (3) | 848 | collisions | | tabulation | 7407.94 | 39.83 | 240.25 (4) | 554 | | | crc32_hw | 5537.79 | 40.80 | 225.65 (3) | 653 | insecure, 100% bias, collisions, distrib, BIC, machine-specific (SSE4.2/NEON) | | crc32_hw1 | 7626.17 | 50.21 | 228.50 (2) | 696 | insecure, 100% bias, collisions, distrib, BIC, machine-specific (x86 SSE4.2) | | crc64_hw | 5579.17 | 40.87 | 202.19 (1) | 652 | insecure, 100% bias, collisions, distrib, BIC, machine-specific (SSE4.2/NEON) | | crc32_pclmul | 7963.20 | 106.02 | 567.70 (3) | 254 | insecure, 100% bias, collisions, distrib, BIC, machine-specific (x86 SSE4.2+PCLMUL) | | crc64_jones1 | 1673.67 | 83.00 | 249.16 (2) | | insecure, 100% bias, collisions, distrib, BIC, machine-specific | | crc64_jones2 | 2968.07 | 314.60 | 253.01 (3) | | insecure, 100% bias, collisions, distrib, BIC, machine-specific | | crc64_jones3 | 3398.80 | 302.59 | 258.16 (8) | | insecure, 100% bias, collisions, distrib, BIC, machine-specific | | crc64_jones | 3512.66 | 80.70 | 251.40 (2) | | insecure, 100% bias, collisions, distrib, BIC, machine-specific | | o1hash | 11530366.92 | 18.40 | 206.94 (1) | 101 | insecure, no seed, zeros, fails all tests | | fibonacci | 15409.62 | 22.67 | 872.83 (3) |1692 | UB, zeros, fails all tests | | FNV1a | 754.70 | 75.28 | 226.30 (2) | 54 | bad seed, zeros, fails all tests | | FNV1A_Totenschiff| 6166.85 | 26.60 | 235.71 (2) | 270 | UB, zeros, fails all tests | | FNV1A_Pippip_Yurii| 24196.44 | 86.25 | 539.41 (3) | 603 | bad seeds, UB, sanity, x64 AESNI only | | FNV1a_YT | 13481.70 | 30.67 | 233.71 (7) | 336 | bad seed, UB, fails all tests | | FNV2 | 5630.87 | 32.09 | 207.08 (1) | 278 | fails all tests | | FNV64 | 747.70 | 74.18 | 189.18 (1) | 70 | fails all tests | | FNV128 | 408.59 | 130.82 | 299.47 (20)| 153 | fails all tests | | k-hash32 | 2227.90 | 53.85 | 255.78 (2) | 808 | insecure, zeros, UB, bad seeds, fails all tests | | k-hash64 | 2492.66 | 48.18 | 242.58 (2) | 609 | insecure, zeros, UB, bad seeds, fails all tests | | fletcher2 | 15410.12 | 20.72 | 345.55 (5) | 117 | bad seed 0, UB, fails all tests | | fletcher4 | 15603.68 | 21.24 | 320.09 (2) | 117 | bad seed 0, UB, fails all tests | | bernstein |
Related Skills
node-connect
338.7kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
338.7kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.6kCommit, push, and open a PR
