------------------------------------------------------------------------------- --- Testing MUMlow "github.com/vnmakarov/mum-hash" GOOD [[[ Sanity Tests ]]] Verification value 0x520263F5 ....... PASS Running sanity check 1 .......... PASS Running AppendedZeroesTest .......... PASS [[[ Speed Tests ]]] Bulk speed test - 262144-byte keys Alignment 7 - 3.240 bytes/cycle - 9269.73 MiB/sec @ 3 ghz Alignment 6 - 3.239 bytes/cycle - 9268.22 MiB/sec @ 3 ghz Alignment 5 - 3.235 bytes/cycle - 9255.13 MiB/sec @ 3 ghz Alignment 4 - 3.234 bytes/cycle - 9253.70 MiB/sec @ 3 ghz Alignment 3 - 3.239 bytes/cycle - 9267.45 MiB/sec @ 3 ghz Alignment 2 - 3.239 bytes/cycle - 9268.13 MiB/sec @ 3 ghz Alignment 1 - 3.239 bytes/cycle - 9267.61 MiB/sec @ 3 ghz Alignment 0 - 3.231 bytes/cycle - 9245.16 MiB/sec @ 3 ghz Average - 3.237 bytes/cycle - 9261.89 MiB/sec @ 3 ghz Small key speed test - 1-byte keys - 33.00 cycles/hash Small key speed test - 2-byte keys - 33.00 cycles/hash Small key speed test - 3-byte keys - 36.56 cycles/hash Small key speed test - 4-byte keys - 33.00 cycles/hash Small key speed test - 5-byte keys - 34.00 cycles/hash Small key speed test - 6-byte keys - 36.72 cycles/hash Small key speed test - 7-byte keys - 37.00 cycles/hash Small key speed test - 8-byte keys - 31.87 cycles/hash Small key speed test - 9-byte keys - 32.99 cycles/hash Small key speed test - 10-byte keys - 33.00 cycles/hash Small key speed test - 11-byte keys - 37.75 cycles/hash Small key speed test - 12-byte keys - 33.00 cycles/hash Small key speed test - 13-byte keys - 36.00 cycles/hash Small key speed test - 14-byte keys - 37.96 cycles/hash Small key speed test - 15-byte keys - 39.00 cycles/hash Small key speed test - 16-byte keys - 32.92 cycles/hash Small key speed test - 17-byte keys - 34.99 cycles/hash Small key speed test - 18-byte keys - 34.82 cycles/hash Small key speed test - 19-byte keys - 38.00 cycles/hash Small key speed test - 20-byte keys - 34.78 cycles/hash Small key speed test - 21-byte keys - 35.87 cycles/hash Small key speed test - 22-byte keys - 38.45 cycles/hash Small key speed test - 23-byte keys - 39.94 cycles/hash Small key speed test - 24-byte keys - 34.88 cycles/hash Small key speed test - 25-byte keys - 36.99 cycles/hash Small key speed test - 26-byte keys - 37.00 cycles/hash Small key speed test - 27-byte keys - 40.95 cycles/hash Small key speed test - 28-byte keys - 37.00 cycles/hash Small key speed test - 29-byte keys - 37.26 cycles/hash Small key speed test - 30-byte keys - 40.95 cycles/hash Small key speed test - 31-byte keys - 41.66 cycles/hash Average 36.171 cycles/hash [[[ 'Hashmap' Speed Tests (when inlined) ]]] std::unordered_map Init std HashMapTest: 523.317 cycles/op (102401 inserts, 1% deletions) Running std HashMapTest: 346.369 cycles/op (7.3 stdv) greg7mdp/parallel-hashmap Init fast HashMapTest: 411.675 cycles/op (102401 inserts, 1% deletions) Running fast HashMapTest: 221.417 cycles/op (2.8 stdv) ....... PASS [[[ Avalanche Tests ]]] Testing 24-bit keys -> 32-bit hashes, 300000 reps.......... worst bias is 0.632000% Testing 32-bit keys -> 32-bit hashes, 300000 reps.......... worst bias is 0.621333% Testing 40-bit keys -> 32-bit hashes, 300000 reps.......... worst bias is 0.696667% Testing 48-bit keys -> 32-bit hashes, 300000 reps.......... worst bias is 0.664000% Testing 56-bit keys -> 32-bit hashes, 300000 reps.......... worst bias is 0.646000% Testing 64-bit keys -> 32-bit hashes, 300000 reps.......... worst bias is 0.802667% Testing 72-bit keys -> 32-bit hashes, 300000 reps.......... worst bias is 0.739333% Testing 80-bit keys -> 32-bit hashes, 300000 reps.......... worst bias is 0.689333% Testing 96-bit keys -> 32-bit hashes, 300000 reps.......... worst bias is 0.632000% Testing 112-bit keys -> 32-bit hashes, 300000 reps.......... worst bias is 0.628667% Testing 128-bit keys -> 32-bit hashes, 300000 reps.......... worst bias is 0.651333% Testing 160-bit keys -> 32-bit hashes, 300000 reps.......... worst bias is 0.646000% Testing 512-bit keys -> 32-bit hashes, 300000 reps.......... worst bias is 0.680000% Testing 1024-bit keys -> 32-bit hashes, 300000 reps.......... worst bias is 0.777333% [[[ Keyset 'Sparse' Tests ]]] Keyset 'Sparse' - 16-bit keys with up to 9 bits set - 50643 keys Testing collisions ( 32-bit) - Expected 0.3, actual 0 (0.00x) Testing collisions (high 19-25 bits) - Worst is 20 bits: 1200/1203 (1.00x) Testing collisions (low 19-25 bits) - Worst is 23 bits: 167/152 (1.09x) Testing distribution - Worst bias is the 13-bit window at bit 17 - 0.414% Keyset 'Sparse' - 24-bit keys with up to 8 bits set - 1271626 keys Testing collisions ( 32-bit) - Expected 188.2, actual 179 (0.95x) Testing distribution - Worst bias is the 17-bit window at bit 23 - 0.080% Keyset 'Sparse' - 32-bit keys with up to 7 bits set - 4514873 keys Testing collisions ( 32-bit) - Expected 2372.2, actual 2443 (1.03x) (71) Testing distribution - Worst bias is the 19-bit window at bit 16 - 0.045% Keyset 'Sparse' - 40-bit keys with up to 6 bits set - 4598479 keys Testing collisions ( 32-bit) - Expected 2460.8, actual 2497 (1.01x) (37) Testing distribution - Worst bias is the 19-bit window at bit 13 - 0.050% Keyset 'Sparse' - 48-bit keys with up to 6 bits set - 14196869 keys Testing collisions ( 32-bit) - Expected 23437.8, actual 23287 (0.99x) (-150) Testing distribution - Worst bias is the 20-bit window at bit 5 - 0.025% Keyset 'Sparse' - 56-bit keys with up to 5 bits set - 4216423 keys Testing collisions ( 32-bit) - Expected 2069.0, actual 2088 (1.01x) (20) Testing distribution - Worst bias is the 19-bit window at bit 30 - 0.064% Keyset 'Sparse' - 64-bit keys with up to 5 bits set - 8303633 keys Testing collisions ( 32-bit) - Expected 8021.7, actual 8109 (1.01x) (88) Testing distribution - Worst bias is the 20-bit window at bit 26 - 0.033% Keyset 'Sparse' - 72-bit keys with up to 5 bits set - 15082603 keys Testing collisions ( 32-bit) - Expected 26451.8, actual 26362 (1.00x) (-89) Testing distribution - Worst bias is the 20-bit window at bit 31 - 0.026% Keyset 'Sparse' - 96-bit keys with up to 4 bits set - 3469497 keys Testing collisions ( 32-bit) - Expected 1401.0, actual 1395 (1.00x) (-5) Testing distribution - Worst bias is the 19-bit window at bit 2 - 0.085% Keyset 'Sparse' - 160-bit keys with up to 4 bits set - 26977161 keys Testing collisions ( 32-bit) - Expected 84546.1, actual 84357 (1.00x) (-189) Testing distribution - Worst bias is the 20-bit window at bit 23 - 0.012% Keyset 'Sparse' - 256-bit keys with up to 3 bits set - 2796417 keys Testing collisions ( 32-bit) - Expected 910.2, actual 951 (1.04x) (41) Testing distribution - Worst bias is the 19-bit window at bit 1 - 0.040% Keyset 'Sparse' - 512-bit keys with up to 3 bits set - 22370049 keys Testing collisions ( 32-bit) - Expected 58155.4, actual 58649 (1.01x) (494) Testing distribution - Worst bias is the 20-bit window at bit 15 - 0.010% Keyset 'Sparse' - 1024-bit keys with up to 2 bits set - 524801 keys Testing collisions ( 32-bit) - Expected 32.1, actual 33 (1.03x) (1) Testing distribution - Worst bias is the 16-bit window at bit 16 - 0.140% Keyset 'Sparse' - 2048-bit keys with up to 2 bits set - 2098177 keys Testing collisions ( 32-bit) - Expected 512.4, actual 490 (0.96x) Testing distribution - Worst bias is the 18-bit window at bit 30 - 0.053% [[[ Keyset 'Permutation' Tests ]]] Combination Lowbits Tests: Keyset 'Combination' - up to 7 blocks from a set of 8 - 2396744 keys Testing collisions ( 32-bit) - Expected 668.6, actual 655 (0.98x) Testing distribution - Worst bias is the 18-bit window at bit 4 - 0.055% Combination Highbits Tests Keyset 'Combination' - up to 7 blocks from a set of 8 - 2396744 keys Testing collisions ( 32-bit) - Expected 668.6, actual 687 (1.03x) (19) Testing distribution - Worst bias is the 18-bit window at bit 26 - 0.049% Combination Hi-Lo Tests: Keyset 'Combination' - up to 6 blocks from a set of 15 - 12204240 keys Testing collisions ( 32-bit) - Expected 17322.9, actual 17235 (0.99x) (-87) Testing distribution - Worst bias is the 20-bit window at bit 29 - 0.025% Combination 0x8000000 Tests: Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys Testing collisions ( 32-bit) - Expected 8186.7, actual 8160 (1.00x) (-26) Testing distribution - Worst bias is the 20-bit window at bit 28 - 0.032% Combination 0x0000001 Tests: Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys Testing collisions ( 32-bit) - Expected 8186.7, actual 8032 (0.98x) (-154) Testing distribution - Worst bias is the 20-bit window at bit 12 - 0.037% Combination 0x800000000000000 Tests: Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys Testing collisions ( 32-bit) - Expected 8186.7, actual 8307 (1.01x) (121) Testing distribution - Worst bias is the 20-bit window at bit 23 - 0.031% Combination 0x000000000000001 Tests: Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys Testing collisions ( 32-bit) - Expected 8186.7, actual 8159 (1.00x) (-27) Testing distribution - Worst bias is the 20-bit window at bit 11 - 0.039% Combination 16-bytes [0-1] Tests: Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys Testing collisions ( 32-bit) - Expected 8186.7, actual 8109 (0.99x) (-77) Testing distribution - Worst bias is the 20-bit window at bit 23 - 0.037% Combination 16-bytes [0-last] Tests: Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys Testing collisions ( 32-bit) - Expected 8186.7, actual 8114 (0.99x) (-72) Testing distribution - Worst bias is the 20-bit window at bit 17 - 0.028% Combination 32-bytes [0-1] Tests: Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys Testing collisions ( 32-bit) - Expected 8186.7, actual 8139 (0.99x) (-47) Testing distribution - Worst bias is the 20-bit window at bit 0 - 0.030% Combination 32-bytes [0-last] Tests: Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys Testing collisions ( 32-bit) - Expected 8186.7, actual 8111 (0.99x) (-75) Testing distribution - Worst bias is the 20-bit window at bit 2 - 0.039% Combination 64-bytes [0-1] Tests: Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys Testing collisions ( 32-bit) - Expected 8186.7, actual 7955 (0.97x) Testing distribution - Worst bias is the 20-bit window at bit 0 - 0.031% Combination 64-bytes [0-last] Tests: Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys Testing collisions ( 32-bit) - Expected 8186.7, actual 8357 (1.02x) (171) Testing distribution - Worst bias is the 20-bit window at bit 14 - 0.028% Combination 128-bytes [0-1] Tests: Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys Testing collisions ( 32-bit) - Expected 8186.7, actual 8337 (1.02x) (151) Testing distribution - Worst bias is the 20-bit window at bit 28 - 0.032% Combination 128-bytes [0-last] Tests: Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys Testing collisions ( 32-bit) - Expected 8186.7, actual 8030 (0.98x) (-156) Testing distribution - Worst bias is the 18-bit window at bit 11 - 0.026% [[[ Keyset 'Window' Tests ]]] Keyset 'Window' - 72-bit key, 20-bit window - 72 tests, 1048576 keys per test Window at 0 - Testing collisions ( 32-bit) - Expected 128.0, actual 134 (1.05x) (7) Window at 1 - Testing collisions ( 32-bit) - Expected 128.0, actual 125 (0.98x) Window at 2 - Testing collisions ( 32-bit) - Expected 128.0, actual 127 (0.99x) Window at 3 - Testing collisions ( 32-bit) - Expected 128.0, actual 123 (0.96x) Window at 4 - Testing collisions ( 32-bit) - Expected 128.0, actual 125 (0.98x) Window at 5 - Testing collisions ( 32-bit) - Expected 128.0, actual 131 (1.02x) (4) Window at 6 - Testing collisions ( 32-bit) - Expected 128.0, actual 111 (0.87x) Window at 7 - Testing collisions ( 32-bit) - Expected 128.0, actual 109 (0.85x) Window at 8 - Testing collisions ( 32-bit) - Expected 128.0, actual 117 (0.91x) Window at 9 - Testing collisions ( 32-bit) - Expected 128.0, actual 130 (1.02x) (3) Window at 10 - Testing collisions ( 32-bit) - Expected 128.0, actual 152 (1.19x) (25) Window at 11 - Testing collisions ( 32-bit) - Expected 128.0, actual 121 (0.95x) Window at 12 - Testing collisions ( 32-bit) - Expected 128.0, actual 114 (0.89x) Window at 13 - Testing collisions ( 32-bit) - Expected 128.0, actual 130 (1.02x) (3) Window at 14 - Testing collisions ( 32-bit) - Expected 128.0, actual 133 (1.04x) (6) Window at 15 - Testing collisions ( 32-bit) - Expected 128.0, actual 129 (1.01x) (2) Window at 16 - Testing collisions ( 32-bit) - Expected 128.0, actual 116 (0.91x) Window at 17 - Testing collisions ( 32-bit) - Expected 128.0, actual 135 (1.05x) (8) Window at 18 - Testing collisions ( 32-bit) - Expected 128.0, actual 136 (1.06x) (9) Window at 19 - Testing collisions ( 32-bit) - Expected 128.0, actual 111 (0.87x) Window at 20 - Testing collisions ( 32-bit) - Expected 128.0, actual 123 (0.96x) Window at 21 - Testing collisions ( 32-bit) - Expected 128.0, actual 123 (0.96x) Window at 22 - Testing collisions ( 32-bit) - Expected 128.0, actual 112 (0.88x) Window at 23 - Testing collisions ( 32-bit) - Expected 128.0, actual 131 (1.02x) (4) Window at 24 - Testing collisions ( 32-bit) - Expected 128.0, actual 130 (1.02x) (3) Window at 25 - Testing collisions ( 32-bit) - Expected 128.0, actual 120 (0.94x) Window at 26 - Testing collisions ( 32-bit) - Expected 128.0, actual 137 (1.07x) (10) Window at 27 - Testing collisions ( 32-bit) - Expected 128.0, actual 138 (1.08x) (11) Window at 28 - Testing collisions ( 32-bit) - Expected 128.0, actual 122 (0.95x) Window at 29 - Testing collisions ( 32-bit) - Expected 128.0, actual 119 (0.93x) Window at 30 - Testing collisions ( 32-bit) - Expected 128.0, actual 114 (0.89x) Window at 31 - Testing collisions ( 32-bit) - Expected 128.0, actual 120 (0.94x) Window at 32 - Testing collisions ( 32-bit) - Expected 128.0, actual 138 (1.08x) (11) Window at 33 - Testing collisions ( 32-bit) - Expected 128.0, actual 136 (1.06x) (9) Window at 34 - Testing collisions ( 32-bit) - Expected 128.0, actual 137 (1.07x) (10) Window at 35 - Testing collisions ( 32-bit) - Expected 128.0, actual 124 (0.97x) Window at 36 - Testing collisions ( 32-bit) - Expected 128.0, actual 120 (0.94x) Window at 37 - Testing collisions ( 32-bit) - Expected 128.0, actual 130 (1.02x) (3) Window at 38 - Testing collisions ( 32-bit) - Expected 128.0, actual 123 (0.96x) Window at 39 - Testing collisions ( 32-bit) - Expected 128.0, actual 137 (1.07x) (10) Window at 40 - Testing collisions ( 32-bit) - Expected 128.0, actual 145 (1.13x) (18) Window at 41 - Testing collisions ( 32-bit) - Expected 128.0, actual 160 (1.25x) (33) Window at 42 - Testing collisions ( 32-bit) - Expected 128.0, actual 134 (1.05x) (7) Window at 43 - Testing collisions ( 32-bit) - Expected 128.0, actual 118 (0.92x) Window at 44 - Testing collisions ( 32-bit) - Expected 128.0, actual 121 (0.95x) Window at 45 - Testing collisions ( 32-bit) - Expected 128.0, actual 121 (0.95x) Window at 46 - Testing collisions ( 32-bit) - Expected 128.0, actual 121 (0.95x) Window at 47 - Testing collisions ( 32-bit) - Expected 128.0, actual 120 (0.94x) Window at 48 - Testing collisions ( 32-bit) - Expected 128.0, actual 116 (0.91x) Window at 49 - Testing collisions ( 32-bit) - Expected 128.0, actual 121 (0.95x) Window at 50 - Testing collisions ( 32-bit) - Expected 128.0, actual 119 (0.93x) Window at 51 - Testing collisions ( 32-bit) - Expected 128.0, actual 111 (0.87x) Window at 52 - Testing collisions ( 32-bit) - Expected 128.0, actual 140 (1.09x) (13) Window at 53 - Testing collisions ( 32-bit) - Expected 128.0, actual 134 (1.05x) (7) Window at 54 - Testing collisions ( 32-bit) - Expected 128.0, actual 129 (1.01x) (2) Window at 55 - Testing collisions ( 32-bit) - Expected 128.0, actual 111 (0.87x) Window at 56 - Testing collisions ( 32-bit) - Expected 128.0, actual 112 (0.88x) Window at 57 - Testing collisions ( 32-bit) - Expected 128.0, actual 124 (0.97x) Window at 58 - Testing collisions ( 32-bit) - Expected 128.0, actual 140 (1.09x) (13) Window at 59 - Testing collisions ( 32-bit) - Expected 128.0, actual 118 (0.92x) Window at 60 - Testing collisions ( 32-bit) - Expected 128.0, actual 113 (0.88x) Window at 61 - Testing collisions ( 32-bit) - Expected 128.0, actual 136 (1.06x) (9) Window at 62 - Testing collisions ( 32-bit) - Expected 128.0, actual 141 (1.10x) (14) Window at 63 - Testing collisions ( 32-bit) - Expected 128.0, actual 134 (1.05x) (7) Window at 64 - Testing collisions ( 32-bit) - Expected 128.0, actual 161 (1.26x) (34) Window at 65 - Testing collisions ( 32-bit) - Expected 128.0, actual 153 (1.20x) (26) Window at 66 - Testing collisions ( 32-bit) - Expected 128.0, actual 127 (0.99x) Window at 67 - Testing collisions ( 32-bit) - Expected 128.0, actual 130 (1.02x) (3) Window at 68 - Testing collisions ( 32-bit) - Expected 128.0, actual 133 (1.04x) (6) Window at 69 - Testing collisions ( 32-bit) - Expected 128.0, actual 122 (0.95x) Window at 70 - Testing collisions ( 32-bit) - Expected 128.0, actual 129 (1.01x) (2) Window at 71 - Testing collisions ( 32-bit) - Expected 128.0, actual 134 (1.05x) (7) Window at 72 - Testing collisions ( 32-bit) - Expected 128.0, actual 134 (1.05x) (7) [[[ Keyset 'Cyclic' Tests ]]] Keyset 'Cyclic' - 8 cycles of 4 bytes - 1000000 keys Testing collisions ( 32-bit) - Expected 116.4, actual 224 (1.92x) (108) Testing distribution - Worst bias is the 17-bit window at bit 30 - 0.116% Keyset 'Cyclic' - 8 cycles of 5 bytes - 1000000 keys Testing collisions ( 32-bit) - Expected 116.4, actual 126 (1.08x) (10) Testing distribution - Worst bias is the 17-bit window at bit 17 - 0.148% Keyset 'Cyclic' - 8 cycles of 6 bytes - 1000000 keys Testing collisions ( 32-bit) - Expected 116.4, actual 122 (1.05x) (6) Testing distribution - Worst bias is the 17-bit window at bit 5 - 0.089% Keyset 'Cyclic' - 8 cycles of 7 bytes - 1000000 keys Testing collisions ( 32-bit) - Expected 116.4, actual 99 (0.85x) Testing distribution - Worst bias is the 17-bit window at bit 10 - 0.091% Keyset 'Cyclic' - 8 cycles of 8 bytes - 1000000 keys Testing collisions ( 32-bit) - Expected 116.4, actual 121 (1.04x) (5) Testing distribution - Worst bias is the 17-bit window at bit 9 - 0.083% Keyset 'Cyclic' - 8 cycles of 12 bytes - 1000000 keys Testing collisions ( 32-bit) - Expected 116.4, actual 133 (1.14x) (17) Testing distribution - Worst bias is the 17-bit window at bit 20 - 0.118% [[[ Keyset 'TwoBytes' Tests ]]] Keyset 'TwoBytes' - up-to-4-byte keys, 652545 total keys Testing collisions ( 32-bit) - Expected 49.6, actual 45 (0.91x) Testing distribution - Worst bias is the 16-bit window at bit 23 - 0.110% Keyset 'TwoBytes' - up-to-8-byte keys, 5471025 total keys Testing collisions ( 32-bit) - Expected 3483.1, actual 3414 (0.98x) (-69) Testing distribution - Worst bias is the 20-bit window at bit 23 - 0.037% Keyset 'TwoBytes' - up-to-12-byte keys, 18616785 total keys Testing collisions ( 32-bit) - Expected 40289.5, actual 40240 (1.00x) (-49) Testing distribution - Worst bias is the 20-bit window at bit 18 - 0.021% Keyset 'TwoBytes' - up-to-16-byte keys, 44251425 total keys Testing collisions ( 32-bit) - Expected 227182.3, actual 227396 (1.00x) (214) Testing distribution - Worst bias is the 20-bit window at bit 13 - 0.005% Keyset 'TwoBytes' - up-to-20-byte keys, 86536545 total keys Testing collisions ( 32-bit) - Expected 865959.1, actual 866103 (1.00x) (144) Testing distribution - Worst bias is the 20-bit window at bit 13 - 0.005% Keyset 'TwoBytes' - up-to-24-byte keys, 149633745 total keys Testing collisions ( 32-bit) - Expected 2576560.5, actual 2577099 (1.00x) (539) Testing distribution - Worst bias is the 20-bit window at bit 13 - 0.002% [[[ MomentChi2 Tests ]]] Analyze hashes produced from a serie of linearly increasing numbers of 32-bit, using a step of 2 ... Target values to approximate : 1391290.000000 - 686.666667 4 threads starting... done Popcount 1 stats : 1391286.797754 - 687.253864 Popcount 0 stats : 1391320.729049 - 687.395035 MomentChi2 for bits 1 : 0.00746359 MomentChi2 for bits 0 : 0.687214 Derivative stats (transition from 2 consecutive values) : Popcount 1 stats : 1391282.924407 - 687.271272 Popcount 0 stats : 1391308.844202 - 687.310875 MomentChi2 for deriv b1 : 0.0364383 MomentChi2 for deriv b0 : 0.25845 Great [[[ Keyset 'Text' Tests ]]] Keyset 'Text' - keys of form "FooXXXXBar" - 14776336 keys Testing collisions ( 32-bit) - Expected 25389.0, actual 25459 (1.00x) (70) Testing distribution - Worst bias is the 20-bit window at bit 22 - 0.013% Keyset 'Text' - keys of form "FooBarXXXX" - 14776336 keys Testing collisions ( 32-bit) - Expected 25389.0, actual 25189 (0.99x) (-200) Testing distribution - Worst bias is the 20-bit window at bit 8 - 0.013% Keyset 'Text' - keys of form "XXXXFooBar" - 14776336 keys Testing collisions ( 32-bit) - Expected 25389.0, actual 25342 (1.00x) (-47) Testing distribution - Worst bias is the 20-bit window at bit 19 - 0.035% Keyset 'Words' - 4000000 random keys of len 6-16 from alnum charset Testing collisions ( 32-bit) - Expected 1862.1, actual 1960 (1.05x) (98) Testing distribution - Worst bias is the 19-bit window at bit 14 - 0.099% Keyset 'Words' - 4000000 random keys of len 6-16 from password charset Testing collisions ( 32-bit) - Expected 1862.1, actual 1911 (1.03x) (49) Testing distribution - Worst bias is the 19-bit window at bit 12 - 0.049% Keyset 'Words' - 104334 dict words Testing collisions ( 32-bit) - Expected 1.3, actual 1 (0.79x) Testing collisions (high 20-28 bits) - Worst is 28 bits: 21/20 (1.04x) Testing collisions (low 20-28 bits) - Worst is 26 bits: 90/81 (1.11x) Testing distribution - Worst bias is the 14-bit window at bit 9 - 0.370% [[[ Keyset 'Zeroes' Tests ]]] Keyset 'Zeroes' - 204800 keys Testing collisions ( 32-bit) - Expected 4.9, actual 4 (0.82x) Testing collisions (high 21-29 bits) - Worst is 29 bits: 48/39 (1.23x) Testing collisions (low 21-29 bits) - Worst is 28 bits: 95/78 (1.22x) Testing distribution - Worst bias is the 15-bit window at bit 27 - 0.138% [[[ Keyset 'Seed' Tests ]]] Keyset 'Seed' - 5000000 keys Testing collisions ( 32-bit) - Expected 2909.3, actual 2914 (1.00x) (5) Testing distribution - Worst bias is the 19-bit window at bit 15 - 0.047% [[[ Keyset 'PerlinNoise' Tests ]]] Testing 16777216 coordinates (L2) : Testing collisions ( 32-bit) - Expected 32725.4, actual 32641 (1.00x) (-84) Testing AV variant, 128 count with 4 spacing, 4-12: Testing collisions ( 32-bit) - Expected 1116.2, actual 768720 (688.72x) (767604) !!!!! *********FAIL********* [[[ Diff 'Differential' Tests ]]] Testing 8303632 up-to-5-bit differentials in 64-bit keys -> 32 bit hashes. 1000 reps, 8303632000 total tests, expecting 1.93 random collisions.......... 3 total collisions, of which 3 single collisions were ignored Testing 11017632 up-to-4-bit differentials in 128-bit keys -> 32 bit hashes. 1000 reps, 11017632000 total tests, expecting 2.57 random collisions.......... 0 total collisions, of which 0 single collisions were ignored Testing 2796416 up-to-3-bit differentials in 256-bit keys -> 32 bit hashes. 1000 reps, 2796416000 total tests, expecting 0.65 random collisions.......... 2 total collisions, of which 2 single collisions were ignored [[[ DiffDist 'Differential Distribution' Tests ]]] Testing bit 0 Testing collisions ( 32-bit) - Expected 511.9, actual 514 (1.00x) (3) Testing distribution - Worst bias is the 18-bit window at bit 5 - 0.043% Testing bit 1 Testing collisions ( 32-bit) - Expected 511.9, actual 494 (0.97x) Testing distribution - Worst bias is the 18-bit window at bit 21 - 0.080% Testing bit 2 Testing collisions ( 32-bit) - Expected 511.9, actual 499 (0.97x) Testing distribution - Worst bias is the 18-bit window at bit 25 - 0.064% Testing bit 3 Testing collisions ( 32-bit) - Expected 511.9, actual 492 (0.96x) Testing distribution - Worst bias is the 18-bit window at bit 23 - 0.051% Testing bit 4 Testing collisions ( 32-bit) - Expected 511.9, actual 537 (1.05x) (26) Testing distribution - Worst bias is the 18-bit window at bit 26 - 0.082% Testing bit 5 Testing collisions ( 32-bit) - Expected 511.9, actual 502 (0.98x) (-9) Testing distribution - Worst bias is the 18-bit window at bit 28 - 0.086% Testing bit 6 Testing collisions ( 32-bit) - Expected 511.9, actual 474 (0.93x) Testing distribution - Worst bias is the 18-bit window at bit 30 - 0.061% Testing bit 7 Testing collisions ( 32-bit) - Expected 511.9, actual 524 (1.02x) (13) Testing distribution - Worst bias is the 18-bit window at bit 21 - 0.039% Testing bit 8 Testing collisions ( 32-bit) - Expected 511.9, actual 531 (1.04x) (20) Testing distribution - Worst bias is the 18-bit window at bit 14 - 0.043% Testing bit 9 Testing collisions ( 32-bit) - Expected 511.9, actual 479 (0.94x) Testing distribution - Worst bias is the 18-bit window at bit 30 - 0.069% Testing bit 10 Testing collisions ( 32-bit) - Expected 511.9, actual 506 (0.99x) (-5) Testing distribution - Worst bias is the 18-bit window at bit 24 - 0.063% Testing bit 11 Testing collisions ( 32-bit) - Expected 511.9, actual 506 (0.99x) (-5) Testing distribution - Worst bias is the 18-bit window at bit 26 - 0.069% Testing bit 12 Testing collisions ( 32-bit) - Expected 511.9, actual 534 (1.04x) (23) Testing distribution - Worst bias is the 18-bit window at bit 24 - 0.052% Testing bit 13 Testing collisions ( 32-bit) - Expected 511.9, actual 569 (1.11x) (58) Testing distribution - Worst bias is the 18-bit window at bit 30 - 0.077% Testing bit 14 Testing collisions ( 32-bit) - Expected 511.9, actual 509 (0.99x) (-2) Testing distribution - Worst bias is the 18-bit window at bit 2 - 0.080% Testing bit 15 Testing collisions ( 32-bit) - Expected 511.9, actual 497 (0.97x) Testing distribution - Worst bias is the 18-bit window at bit 30 - 0.066% Testing bit 16 Testing collisions ( 32-bit) - Expected 511.9, actual 499 (0.97x) Testing distribution - Worst bias is the 18-bit window at bit 23 - 0.097% Testing bit 17 Testing collisions ( 32-bit) - Expected 511.9, actual 494 (0.97x) Testing distribution - Worst bias is the 17-bit window at bit 23 - 0.050% Testing bit 18 Testing collisions ( 32-bit) - Expected 511.9, actual 518 (1.01x) (7) Testing distribution - Worst bias is the 18-bit window at bit 29 - 0.084% Testing bit 19 Testing collisions ( 32-bit) - Expected 511.9, actual 509 (0.99x) (-2) Testing distribution - Worst bias is the 17-bit window at bit 29 - 0.041% Testing bit 20 Testing collisions ( 32-bit) - Expected 511.9, actual 510 (1.00x) (-1) Testing distribution - Worst bias is the 18-bit window at bit 9 - 0.085% Testing bit 21 Testing collisions ( 32-bit) - Expected 511.9, actual 532 (1.04x) (21) Testing distribution - Worst bias is the 18-bit window at bit 18 - 0.072% Testing bit 22 Testing collisions ( 32-bit) - Expected 511.9, actual 486 (0.95x) Testing distribution - Worst bias is the 18-bit window at bit 16 - 0.053% Testing bit 23 Testing collisions ( 32-bit) - Expected 511.9, actual 524 (1.02x) (13) Testing distribution - Worst bias is the 18-bit window at bit 3 - 0.049% Testing bit 24 Testing collisions ( 32-bit) - Expected 511.9, actual 508 (0.99x) (-3) Testing distribution - Worst bias is the 18-bit window at bit 29 - 0.059% Testing bit 25 Testing collisions ( 32-bit) - Expected 511.9, actual 510 (1.00x) (-1) Testing distribution - Worst bias is the 18-bit window at bit 27 - 0.061% Testing bit 26 Testing collisions ( 32-bit) - Expected 511.9, actual 526 (1.03x) (15) Testing distribution - Worst bias is the 18-bit window at bit 8 - 0.094% Testing bit 27 Testing collisions ( 32-bit) - Expected 511.9, actual 477 (0.93x) Testing distribution - Worst bias is the 18-bit window at bit 16 - 0.081% Testing bit 28 Testing collisions ( 32-bit) - Expected 511.9, actual 533 (1.04x) (22) Testing distribution - Worst bias is the 18-bit window at bit 11 - 0.091% Testing bit 29 Testing collisions ( 32-bit) - Expected 511.9, actual 497 (0.97x) Testing distribution - Worst bias is the 18-bit window at bit 8 - 0.063% Testing bit 30 Testing collisions ( 32-bit) - Expected 511.9, actual 524 (1.02x) (13) Testing distribution - Worst bias is the 18-bit window at bit 26 - 0.095% Testing bit 31 Testing collisions ( 32-bit) - Expected 511.9, actual 473 (0.92x) Testing distribution - Worst bias is the 18-bit window at bit 13 - 0.075% Testing bit 32 Testing collisions ( 32-bit) - Expected 511.9, actual 478 (0.93x) Testing distribution - Worst bias is the 18-bit window at bit 21 - 0.096% Testing bit 33 Testing collisions ( 32-bit) - Expected 511.9, actual 498 (0.97x) Testing distribution - Worst bias is the 17-bit window at bit 11 - 0.050% Testing bit 34 Testing collisions ( 32-bit) - Expected 511.9, actual 512 (1.00x) (1) Testing distribution - Worst bias is the 18-bit window at bit 7 - 0.071% Testing bit 35 Testing collisions ( 32-bit) - Expected 511.9, actual 497 (0.97x) Testing distribution - Worst bias is the 18-bit window at bit 18 - 0.072% Testing bit 36 Testing collisions ( 32-bit) - Expected 511.9, actual 525 (1.03x) (14) Testing distribution - Worst bias is the 18-bit window at bit 24 - 0.078% Testing bit 37 Testing collisions ( 32-bit) - Expected 511.9, actual 522 (1.02x) (11) Testing distribution - Worst bias is the 18-bit window at bit 14 - 0.053% Testing bit 38 Testing collisions ( 32-bit) - Expected 511.9, actual 513 (1.00x) (2) Testing distribution - Worst bias is the 18-bit window at bit 12 - 0.062% Testing bit 39 Testing collisions ( 32-bit) - Expected 511.9, actual 492 (0.96x) Testing distribution - Worst bias is the 18-bit window at bit 5 - 0.074% Testing bit 40 Testing collisions ( 32-bit) - Expected 511.9, actual 550 (1.07x) (39) Testing distribution - Worst bias is the 18-bit window at bit 6 - 0.083% Testing bit 41 Testing collisions ( 32-bit) - Expected 511.9, actual 485 (0.95x) Testing distribution - Worst bias is the 18-bit window at bit 24 - 0.053% Testing bit 42 Testing collisions ( 32-bit) - Expected 511.9, actual 535 (1.05x) (24) Testing distribution - Worst bias is the 17-bit window at bit 28 - 0.050% Testing bit 43 Testing collisions ( 32-bit) - Expected 511.9, actual 494 (0.97x) Testing distribution - Worst bias is the 18-bit window at bit 2 - 0.056% Testing bit 44 Testing collisions ( 32-bit) - Expected 511.9, actual 500 (0.98x) Testing distribution - Worst bias is the 18-bit window at bit 28 - 0.051% Testing bit 45 Testing collisions ( 32-bit) - Expected 511.9, actual 498 (0.97x) Testing distribution - Worst bias is the 18-bit window at bit 4 - 0.054% Testing bit 46 Testing collisions ( 32-bit) - Expected 511.9, actual 508 (0.99x) (-3) Testing distribution - Worst bias is the 18-bit window at bit 11 - 0.073% Testing bit 47 Testing collisions ( 32-bit) - Expected 511.9, actual 500 (0.98x) Testing distribution - Worst bias is the 18-bit window at bit 25 - 0.091% Testing bit 48 Testing collisions ( 32-bit) - Expected 511.9, actual 504 (0.98x) (-7) Testing distribution - Worst bias is the 18-bit window at bit 10 - 0.063% Testing bit 49 Testing collisions ( 32-bit) - Expected 511.9, actual 477 (0.93x) Testing distribution - Worst bias is the 18-bit window at bit 5 - 0.044% Testing bit 50 Testing collisions ( 32-bit) - Expected 511.9, actual 534 (1.04x) (23) Testing distribution - Worst bias is the 18-bit window at bit 10 - 0.081% Testing bit 51 Testing collisions ( 32-bit) - Expected 511.9, actual 541 (1.06x) (30) Testing distribution - Worst bias is the 18-bit window at bit 20 - 0.072% Testing bit 52 Testing collisions ( 32-bit) - Expected 511.9, actual 514 (1.00x) (3) Testing distribution - Worst bias is the 18-bit window at bit 8 - 0.067% Testing bit 53 Testing collisions ( 32-bit) - Expected 511.9, actual 495 (0.97x) Testing distribution - Worst bias is the 18-bit window at bit 15 - 0.074% Testing bit 54 Testing collisions ( 32-bit) - Expected 511.9, actual 528 (1.03x) (17) Testing distribution - Worst bias is the 18-bit window at bit 15 - 0.065% Testing bit 55 Testing collisions ( 32-bit) - Expected 511.9, actual 534 (1.04x) (23) Testing distribution - Worst bias is the 18-bit window at bit 1 - 0.074% Testing bit 56 Testing collisions ( 32-bit) - Expected 511.9, actual 550 (1.07x) (39) Testing distribution - Worst bias is the 18-bit window at bit 31 - 0.081% Testing bit 57 Testing collisions ( 32-bit) - Expected 511.9, actual 521 (1.02x) (10) Testing distribution - Worst bias is the 18-bit window at bit 23 - 0.075% Testing bit 58 Testing collisions ( 32-bit) - Expected 511.9, actual 543 (1.06x) (32) Testing distribution - Worst bias is the 18-bit window at bit 19 - 0.091% Testing bit 59 Testing collisions ( 32-bit) - Expected 511.9, actual 470 (0.92x) Testing distribution - Worst bias is the 17-bit window at bit 27 - 0.057% Testing bit 60 Testing collisions ( 32-bit) - Expected 511.9, actual 529 (1.03x) (18) Testing distribution - Worst bias is the 18-bit window at bit 0 - 0.079% Testing bit 61 Testing collisions ( 32-bit) - Expected 511.9, actual 497 (0.97x) Testing distribution - Worst bias is the 18-bit window at bit 30 - 0.048% Testing bit 62 Testing collisions ( 32-bit) - Expected 511.9, actual 497 (0.97x) Testing distribution - Worst bias is the 18-bit window at bit 7 - 0.062% Testing bit 63 Testing collisions ( 32-bit) - Expected 511.9, actual 515 (1.01x) (4) Testing distribution - Worst bias is the 18-bit window at bit 22 - 0.048% Input vcode 0x00000001, Output vcode 0x00000001, Result vcode 0x00000001 Verification value is 0x00000001 - Testing took 1292.039101 seconds ------------------------------------------------------------------------------- [[[ Prng Tests ]]] Skipping PRNG test; it is designed for hashes >= 64-bits [[[ BIC 'Bit Independence Criteria' Tests ]]] ........... Max bias 0.005648 - ( 34 : 20, 31) [[[ BadSeeds Tests ]]] Testing 5 internal secrets: 0x11fb062a !!!!! Bad seed 0x11fb062a for len 16 confirmed => hashes: 526c3140 55a189aa 9b127f86 db9e984d db9e984d db9e984d Testing collisions ( 32-bit) - Expected 0.0, actual 2 (572662306.13x) (2) !!!!! !!!!! Bad seed 0x11fb062a for len 32 confirmed => hashes: 17659ac 1ef341d0 2b397dfb 2b397dfb 97382196 eaa03ff8 Testing collisions ( 32-bit) - Expected 0.0, actual 1 (286331153.07x) (1) !!!!! !!!!! Bad seed 0x11fb062a for len 64 confirmed => hashes: 8d3665a1 bdd080c9 cce126ca e238b6c6 f6280d90 f6280d90 Testing collisions ( 32-bit) - Expected 0.0, actual 1 (286331153.07x) (1) !!!!! !!!!! Bad seed 0x11fb062a for len 128 confirmed => hashes: b300c20 70e3f1c7 80959bc0 d244e6ad e43ce029 e43ce029 Testing collisions ( 32-bit) - Expected 0.0, actual 1 (286331153.07x) (1) !!!!! 0x3ca9411b !!!!! Bad seed 0x3ca9411b for len 8 confirmed => hashes: b0085c7 5cf4583f 609726bb ac5870e7 ac5870e7 ddf74464 Testing collisions ( 32-bit) - Expected 0.0, actual 1 (286331153.07x) (1) !!!!! !!!!! Bad seed 0x3ca9411b for len 16 confirmed => hashes: 8ca8e26 4828ebe0 5801f54f 5801f54f 5801f54f af7538d6 Testing collisions ( 32-bit) - Expected 0.0, actual 2 (572662306.13x) (2) !!!!! !!!!! Bad seed 0x3ca9411b for len 32 confirmed => hashes: 1a7eac24 1a7eac24 2144f46a 7c43deea 9c1ce120 eebe0efa Testing collisions ( 32-bit) - Expected 0.0, actual 1 (286331153.07x) (1) !!!!! !!!!! Bad seed 0x3ca9411b for len 64 confirmed => hashes: 2657d0c6 9a41e59f b3d68794 bfb2805f bfb2805f d4856786 Testing collisions ( 32-bit) - Expected 0.0, actual 1 (286331153.07x) (1) !!!!! !!!!! Bad seed 0x3ca9411b for len 128 confirmed => hashes: 3fde4466 6a68278f 6a68278f 79f189ca b3090ce9 d49a6c0e Testing collisions ( 32-bit) - Expected 0.0, actual 1 (286331153.07x) (1) !!!!! 0x3edd9a7d !!!!! Bad seed 0x3edd9a7d for len 16 confirmed => hashes: 42b27283 42b27283 7f9e9ba1 8f4b243f c8ea91d6 c8ea91d6 Testing collisions ( 32-bit) - Expected 0.0, actual 2 (572662306.13x) (2) !!!!! !!!!! Bad seed 0x3edd9a7d for len 32 confirmed => hashes: 12c6989a 12c6989a 14596e41 c2ac6545 c6c990a4 ce12162c Testing collisions ( 32-bit) - Expected 0.0, actual 1 (286331153.07x) (1) !!!!! !!!!! Bad seed 0x3edd9a7d for len 64 confirmed => hashes: 591fdd39 8473ac7e 8473ac7e a048e76c a74ae019 b956a321 Testing collisions ( 32-bit) - Expected 0.0, actual 1 (286331153.07x) (1) !!!!! !!!!! Bad seed 0x3edd9a7d for len 128 confirmed => hashes: 462ef135 5cf56841 655fc4cc c95c6aa2 f9c21ba0 f9c21ba0 Testing collisions ( 32-bit) - Expected 0.0, actual 1 (286331153.07x) (1) !!!!! 0x41f18860 Broken seed 0x41f18860 => 0 with key[16] of all 0 bytes confirmed => hash 0 !!!!! Bad seed 0x41f18860 for len 16 confirmed => hashes: 0 0 20d29fc9 241f991f 4a59afca 717f591c Testing collisions ( 32-bit) - Expected 0.0, actual 1 (286331153.07x) (1) !!!!! !!!!! Bad seed 0x41f18860 for len 32 confirmed => hashes: 47b5d5a4 51d5e44a 814f3ee5 814f3ee5 f9bdf5df fd7227ef Testing collisions ( 32-bit) - Expected 0.0, actual 1 (286331153.07x) (1) !!!!! !!!!! Bad seed 0x41f18860 for len 64 confirmed => hashes: c5daf2d 3fb07ca4 9e6c05d6 d9dfdecd dc3db1b4 dc3db1b4 Testing collisions ( 32-bit) - Expected 0.0, actual 1 (286331153.07x) (1) !!!!! !!!!! Bad seed 0x41f18860 for len 128 confirmed => hashes: 98425584 b168e8aa d28cb4ff e10c6376 f17c1f55 f17c1f55 Testing collisions ( 32-bit) - Expected 0.0, actual 1 (286331153.07x) (1) !!!!! 0x691457ba Broken seed 0x691457ba => 0 with key[16] of all 0 bytes confirmed => hash 0 !!!!! Bad seed 0x691457ba for len 16 confirmed => hashes: 0 0 2b5a0ce3 4a27e9f6 8771a61d fb05b89e Testing collisions ( 32-bit) - Expected 0.0, actual 1 (286331153.07x) (1) !!!!! !!!!! Bad seed 0x691457ba for len 32 confirmed => hashes: 2c6158cf 49cddfdf 49cddfdf 5db0deda 80ec5393 e15e711c Testing collisions ( 32-bit) - Expected 0.0, actual 1 (286331153.07x) (1) !!!!! !!!!! Bad seed 0x691457ba for len 64 confirmed => hashes: 4443f8fa 494d1f85 494d1f85 7a00135f 9833be6b b1dbae5a Testing collisions ( 32-bit) - Expected 0.0, actual 1 (286331153.07x) (1) !!!!! !!!!! Bad seed 0x691457ba for len 128 confirmed => hashes: 42afad95 42afad95 474a43fe 50d26aa9 b7dca364 c14c918b Testing collisions ( 32-bit) - Expected 0.0, actual 1 (286331153.07x) (1) !!!!! *********FAIL*********