123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321 |
- -------------------------------------------------------------------------------
- --- Testing BadHash "Very simple XOR shift"
- [[[ Sanity Tests ]]]
- Verification value 0xAB432E23 : PASS
- Running sanity check 1 ..........PASS
- Running AppendedZeroesTest..........PASS
- [[[ Speed Tests ]]]
- Bulk speed test - 262144-byte keys
- Alignment 7 - 0.251 bytes/cycle - 718.22 MiB/sec @ 3 ghz
- Alignment 6 - 0.314 bytes/cycle - 896.94 MiB/sec @ 3 ghz
- Alignment 5 - 0.313 bytes/cycle - 896.92 MiB/sec @ 3 ghz
- Alignment 4 - 0.314 bytes/cycle - 896.98 MiB/sec @ 3 ghz
- Alignment 3 - 0.306 bytes/cycle - 876.37 MiB/sec @ 3 ghz
- Alignment 2 - 0.307 bytes/cycle - 876.91 MiB/sec @ 3 ghz
- Alignment 1 - 0.307 bytes/cycle - 876.99 MiB/sec @ 3 ghz
- Alignment 0 - 0.314 bytes/cycle - 897.03 MiB/sec @ 3 ghz
- Average - 0.303 bytes/cycle - 867.05 MiB/sec @ 3 ghz
- Small key speed test - 1-byte keys - 12.53 cycles/hash
- Small key speed test - 2-byte keys - 12.00 cycles/hash
- Small key speed test - 3-byte keys - 16.95 cycles/hash
- Small key speed test - 4-byte keys - 19.00 cycles/hash
- Small key speed test - 5-byte keys - 23.00 cycles/hash
- Small key speed test - 6-byte keys - 25.00 cycles/hash
- Small key speed test - 7-byte keys - 29.00 cycles/hash
- Small key speed test - 8-byte keys - 31.36 cycles/hash
- Small key speed test - 9-byte keys - 46.63 cycles/hash
- Small key speed test - 10-byte keys - 48.08 cycles/hash
- Small key speed test - 11-byte keys - 42.00 cycles/hash
- Small key speed test - 12-byte keys - 44.00 cycles/hash
- Small key speed test - 13-byte keys - 59.83 cycles/hash
- Small key speed test - 14-byte keys - 62.42 cycles/hash
- Small key speed test - 15-byte keys - 55.00 cycles/hash
- Small key speed test - 16-byte keys - 57.00 cycles/hash
- Small key speed test - 17-byte keys - 61.00 cycles/hash
- Small key speed test - 18-byte keys - 63.00 cycles/hash
- Small key speed test - 19-byte keys - 82.99 cycles/hash
- Small key speed test - 20-byte keys - 69.99 cycles/hash
- Small key speed test - 21-byte keys - 73.96 cycles/hash
- Small key speed test - 22-byte keys - 76.00 cycles/hash
- Small key speed test - 23-byte keys - 80.00 cycles/hash
- Small key speed test - 24-byte keys - 82.00 cycles/hash
- Small key speed test - 25-byte keys - 86.37 cycles/hash
- Small key speed test - 26-byte keys - 88.85 cycles/hash
- Small key speed test - 27-byte keys - 97.80 cycles/hash
- Small key speed test - 28-byte keys - 120.10 cycles/hash
- Small key speed test - 29-byte keys - 125.52 cycles/hash
- Small key speed test - 30-byte keys - 101.00 cycles/hash
- Small key speed test - 31-byte keys - 132.68 cycles/hash
- Average 62.098 cycles/hash
- [[[ 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..........
- 54000 total collisions, of which 0 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..........
- 87000 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..........
- 93000 total collisions, of which 0 single collisions were ignored !!!!!
- *********FAIL*********
- [[[ Avalanche Tests ]]]
- Testing 32-bit keys -> 32-bit hashes, 300000 reps.......... worst bias is 100.000000% !!!!!
- Testing 40-bit keys -> 32-bit hashes, 300000 reps.......... worst bias is 100.000000% !!!!!
- Testing 48-bit keys -> 32-bit hashes, 300000 reps.......... worst bias is 100.000000% !!!!!
- Testing 56-bit keys -> 32-bit hashes, 300000 reps.......... worst bias is 100.000000% !!!!!
- Testing 64-bit keys -> 32-bit hashes, 300000 reps.......... worst bias is 100.000000% !!!!!
- Testing 72-bit keys -> 32-bit hashes, 300000 reps.......... worst bias is 100.000000% !!!!!
- Testing 80-bit keys -> 32-bit hashes, 300000 reps.......... worst bias is 100.000000% !!!!!
- Testing 88-bit keys -> 32-bit hashes, 300000 reps.......... worst bias is 100.000000% !!!!!
- Testing 96-bit keys -> 32-bit hashes, 300000 reps.......... worst bias is 100.000000% !!!!!
- Testing 104-bit keys -> 32-bit hashes, 300000 reps.......... worst bias is 100.000000% !!!!!
- Testing 112-bit keys -> 32-bit hashes, 300000 reps.......... worst bias is 100.000000% !!!!!
- Testing 120-bit keys -> 32-bit hashes, 300000 reps.......... worst bias is 100.000000% !!!!!
- Testing 128-bit keys -> 32-bit hashes, 300000 reps.......... worst bias is 100.000000% !!!!!
- Testing 136-bit keys -> 32-bit hashes, 300000 reps.......... worst bias is 100.000000% !!!!!
- Testing 144-bit keys -> 32-bit hashes, 300000 reps.......... worst bias is 100.000000% !!!!!
- Testing 152-bit keys -> 32-bit hashes, 300000 reps.......... worst bias is 100.000000% !!!!!
- *********FAIL*********
- [[[ Keyset 'Cyclic' Tests ]]]
- Keyset 'Cyclic' - 8 cycles of 4 bytes - 10000000 keys
- Testing collisions - Expected 11641.53, actual 4153959.00 (356.82x) !!!!!
- Testing distribution - Worst bias is the 19-bit window at bit 6 - 49.998% !!!!!
- Keyset 'Cyclic' - 8 cycles of 5 bytes - 10000000 keys
- Testing collisions - Expected 11641.53, actual 184298.00 (15.83x) !!!!!
- Testing distribution - Worst bias is the 20-bit window at bit 28 - 0.028%
- Keyset 'Cyclic' - 8 cycles of 6 bytes - 10000000 keys
- Testing collisions - Expected 11641.53, actual 11757.00 ( 1.01x)
- Testing distribution - Worst bias is the 20-bit window at bit 18 - 0.017%
- Keyset 'Cyclic' - 8 cycles of 7 bytes - 10000000 keys
- Testing collisions - Expected 11641.53, actual 92363.00 ( 7.93x) !!!!!
- Testing distribution - Worst bias is the 20-bit window at bit 20 - 0.049%
- Keyset 'Cyclic' - 8 cycles of 8 bytes - 10000000 keys
- Testing collisions - Expected 11641.53, actual 11589.00 ( 1.00x)
- Testing distribution - Worst bias is the 20-bit window at bit 6 - 0.035%
- *********FAIL*********
- [[[ Keyset 'TwoBytes' Tests ]]]
- Keyset 'TwoBytes' - up-to-4-byte keys, 652545 total keys
- Testing collisions - Expected 49.57, actual 443969.00 (8956.17x) !!!!!
- Testing distribution - Worst bias is the 16-bit window at bit 16 - 99.992% !!!!!
- Keyset 'TwoBytes' - up-to-8-byte keys, 5471025 total keys
- Testing collisions - Expected 3484.56, actual 4123713.00 (1183.43x) !!!!!
- Testing distribution - Worst bias is the 20-bit window at bit 12 - 99.978% !!!!!
- Keyset 'TwoBytes' - up-to-12-byte keys, 18616785 total keys
- Testing collisions - Expected 40347.77, actual 15147191.00 (375.42x) !!!!!
- Testing distribution - Worst bias is the 20-bit window at bit 12 - 99.900% !!!!!
- Keyset 'TwoBytes' - up-to-16-byte keys, 44251425 total keys
- Testing collisions - Expected 227963.15, actual 37678666.00 (165.28x) !!!!!
- Testing distribution - Worst bias is the 20-bit window at bit 12 - 99.705% !!!!!
- Keyset 'TwoBytes' - up-to-20-byte keys, 86536545 total keys
- Testing collisions - Expected 871784.70, actual 75882075.00 (87.04x) !!!!!
- Testing distribution - Worst bias is the 20-bit window at bit 12 - 99.317% !!!!!
- *********FAIL*********
- [[[ Keyset 'Sparse' Tests ]]]
- Keyset 'Sparse' - 32-bit keys with up to 6 bits set - 1149017 keys
- Testing collisions - Expected 153.70, actual 764101.00 (4971.51x) !!!!!
- Testing distribution - Worst bias is the 17-bit window at bit 15 - 99.972% !!!!!
- Keyset 'Sparse' - 40-bit keys with up to 6 bits set - 4598479 keys
- Testing collisions - Expected 2461.72, actual 2894388.00 (1175.76x) !!!!!
- Testing distribution - Worst bias is the 19-bit window at bit 13 - 99.904% !!!!!
- Keyset 'Sparse' - 48-bit keys with up to 5 bits set - 1925357 keys
- Testing collisions - Expected 431.55, actual 867093.00 (2009.25x) !!!!!
- Testing distribution - Worst bias is the 18-bit window at bit 14 - 99.724% !!!!!
- Keyset 'Sparse' - 56-bit keys with up to 5 bits set - 4216423 keys
- Testing collisions - Expected 2069.66, actual 1755381.00 (848.15x) !!!!!
- Testing distribution - Worst bias is the 19-bit window at bit 13 - 99.397% !!!!!
- Keyset 'Sparse' - 64-bit keys with up to 5 bits set - 8303633 keys
- Testing collisions - Expected 8026.87, actual 3203686.00 (399.12x) !!!!!
- Testing distribution - Worst bias is the 20-bit window at bit 12 - 98.603% !!!!!
- Keyset 'Sparse' - 96-bit keys with up to 4 bits set - 3469497 keys
- Testing collisions - Expected 1401.34, actual 655707.00 (467.91x) !!!!!
- Testing distribution - Worst bias is the 19-bit window at bit 13 - 95.182% !!!!!
- Keyset 'Sparse' - 256-bit keys with up to 3 bits set - 2796417 keys
- Testing collisions - Expected 910.36, actual 116095.00 (127.53x) !!!!!
- Testing distribution - Worst bias is the 19-bit window at bit 13 - 64.452% !!!!!
- Keyset 'Sparse' - 2048-bit keys with up to 2 bits set - 2098177 keys
- Testing collisions - Expected 512.50, actual 4209.00 ( 8.21x) !!!!!
- Testing distribution - Worst bias is the 18-bit window at bit 14 - 5.619% !!!!!
- *********FAIL*********
- [[[ Keyset 'Combination Lowbits' Tests ]]]
- Keyset 'Combination' - up to 8 blocks from a set of 8 - 19173960 keys
- Testing collisions - Expected 42799.01, actual 2396744.00 (56.00x) !!!!!
- Testing distribution - Worst bias is the 19-bit window at bit 3 - 49.321% !!!!!
- *********FAIL*********
- [[[ Keyset 'Combination Highbits' Tests ]]]
- Keyset 'Combination' - up to 8 blocks from a set of 8 - 19173960 keys
- Testing collisions - Expected 42799.01, actual 2396744.00 (56.00x) !!!!!
- Testing distribution - Worst bias is the 20-bit window at bit 14 - 6.473% !!!!!
- *********FAIL*********
- [[[ Keyset 'Combination 0x8000000' Tests ]]]
- Keyset 'Combination' - up to 20 blocks from a set of 2 - 2097150 keys
- Testing collisions - Expected 512.00, actual 1048574.00 (2048.00x) !!!!!
- Testing distribution - Worst bias is the 18-bit window at bit 12 - 74.704% !!!!!
- *********FAIL*********
- [[[ Keyset 'Combination 0x0000001' Tests ]]]
- Keyset 'Combination' - up to 20 blocks from a set of 2 - 2097150 keys
- Testing collisions - Expected 512.00, actual 1048574.00 (2048.00x) !!!!!
- Testing distribution - Worst bias is the 18-bit window at bit 25 - 74.323% !!!!!
- *********FAIL*********
- [[[ Keyset 'Combination Hi-Lo' Tests ]]]
- Keyset 'Combination' - up to 6 blocks from a set of 15 - 12204240 keys
- Testing collisions - Expected 17339.30, actual 817151.00 (47.13x) !!!!!
- Testing distribution - Worst bias is the 20-bit window at bit 14 - 30.435% !!!!!
- *********FAIL*********
- [[[ Keyset 'Window' Tests ]]]
- Keyset 'Windowed' - 64-bit key, 20-bit window - 64 tests, 1048576 keys per test
- Window at 0 - Testing collisions - Expected 128.00, actual 917504.00 (7168.01x) !!!!!
- Window at 1 - Testing collisions - Expected 128.00, actual 786432.00 (6144.01x) !!!!!
- Window at 2 - Testing collisions - Expected 128.00, actual 786432.00 (6144.01x) !!!!!
- Window at 3 - Testing collisions - Expected 128.00, actual 786432.00 (6144.01x) !!!!!
- Window at 4 - Testing collisions - Expected 128.00, actual 917504.00 (7168.01x) !!!!!
- Window at 5 - Testing collisions - Expected 128.00, actual 917504.00 (7168.01x) !!!!!
- Window at 6 - Testing collisions - Expected 128.00, actual 917504.00 (7168.01x) !!!!!
- Window at 7 - Testing collisions - Expected 128.00, actual 917504.00 (7168.01x) !!!!!
- Window at 8 - Testing collisions - Expected 128.00, actual 917504.00 (7168.01x) !!!!!
- Window at 9 - Testing collisions - Expected 128.00, actual 786432.00 (6144.01x) !!!!!
- Window at 10 - Testing collisions - Expected 128.00, actual 786432.00 (6144.01x) !!!!!
- Window at 11 - Testing collisions - Expected 128.00, actual 786432.00 (6144.01x) !!!!!
- Window at 12 - Testing collisions - Expected 128.00, actual 917504.00 (7168.01x) !!!!!
- Window at 13 - Testing collisions - Expected 128.00, actual 917504.00 (7168.01x) !!!!!
- Window at 14 - Testing collisions - Expected 128.00, actual 917504.00 (7168.01x) !!!!!
- Window at 15 - Testing collisions - Expected 128.00, actual 917504.00 (7168.01x) !!!!!
- Window at 16 - Testing collisions - Expected 128.00, actual 917504.00 (7168.01x) !!!!!
- Window at 17 - Testing collisions - Expected 128.00, actual 786432.00 (6144.01x) !!!!!
- Window at 18 - Testing collisions - Expected 128.00, actual 786432.00 (6144.01x) !!!!!
- Window at 19 - Testing collisions - Expected 128.00, actual 786432.00 (6144.01x) !!!!!
- Window at 20 - Testing collisions - Expected 128.00, actual 917504.00 (7168.01x) !!!!!
- Window at 21 - Testing collisions - Expected 128.00, actual 917504.00 (7168.01x) !!!!!
- Window at 22 - Testing collisions - Expected 128.00, actual 917504.00 (7168.01x) !!!!!
- Window at 23 - Testing collisions - Expected 128.00, actual 917504.00 (7168.01x) !!!!!
- Window at 24 - Testing collisions - Expected 128.00, actual 917504.00 (7168.01x) !!!!!
- Window at 25 - Testing collisions - Expected 128.00, actual 786432.00 (6144.01x) !!!!!
- Window at 26 - Testing collisions - Expected 128.00, actual 786432.00 (6144.01x) !!!!!
- Window at 27 - Testing collisions - Expected 128.00, actual 786432.00 (6144.01x) !!!!!
- Window at 28 - Testing collisions - Expected 128.00, actual 917504.00 (7168.01x) !!!!!
- Window at 29 - Testing collisions - Expected 128.00, actual 917504.00 (7168.01x) !!!!!
- Window at 30 - Testing collisions - Expected 128.00, actual 917504.00 (7168.01x) !!!!!
- Window at 31 - Testing collisions - Expected 128.00, actual 917504.00 (7168.01x) !!!!!
- Window at 32 - Testing collisions - Expected 128.00, actual 917504.00 (7168.01x) !!!!!
- Window at 33 - Testing collisions - Expected 128.00, actual 786432.00 (6144.01x) !!!!!
- Window at 34 - Testing collisions - Expected 128.00, actual 786432.00 (6144.01x) !!!!!
- Window at 35 - Testing collisions - Expected 128.00, actual 786432.00 (6144.01x) !!!!!
- Window at 36 - Testing collisions - Expected 128.00, actual 917504.00 (7168.01x) !!!!!
- Window at 37 - Testing collisions - Expected 128.00, actual 917504.00 (7168.01x) !!!!!
- Window at 38 - Testing collisions - Expected 128.00, actual 917504.00 (7168.01x) !!!!!
- Window at 39 - Testing collisions - Expected 128.00, actual 917504.00 (7168.01x) !!!!!
- Window at 40 - Testing collisions - Expected 128.00, actual 917504.00 (7168.01x) !!!!!
- Window at 41 - Testing collisions - Expected 128.00, actual 786432.00 (6144.01x) !!!!!
- Window at 42 - Testing collisions - Expected 128.00, actual 786432.00 (6144.01x) !!!!!
- Window at 43 - Testing collisions - Expected 128.00, actual 786432.00 (6144.01x) !!!!!
- Window at 44 - Testing collisions - Expected 128.00, actual 917504.00 (7168.01x) !!!!!
- Window at 45 - Testing collisions - Expected 128.00, actual 917504.00 (7168.01x) !!!!!
- Window at 46 - Testing collisions - Expected 128.00, actual 917504.00 (7168.01x) !!!!!
- Window at 47 - Testing collisions - Expected 128.00, actual 917504.00 (7168.01x) !!!!!
- Window at 48 - Testing collisions - Expected 128.00, actual 917504.00 (7168.01x) !!!!!
- Window at 49 - Testing collisions - Expected 128.00, actual 786432.00 (6144.01x) !!!!!
- Window at 50 - Testing collisions - Expected 128.00, actual 524288.00 (4096.00x) !!!!!
- Window at 51 - Testing collisions - Expected 128.00, actual 0.00 ( 0.00x)
- Window at 52 - Testing collisions - Expected 128.00, actual 0.00 ( 0.00x)
- Window at 53 - Testing collisions - Expected 128.00, actual 0.00 ( 0.00x)
- Window at 54 - Testing collisions - Expected 128.00, actual 0.00 ( 0.00x)
- Window at 55 - Testing collisions - Expected 128.00, actual 0.00 ( 0.00x)
- Window at 56 - Testing collisions - Expected 128.00, actual 0.00 ( 0.00x)
- Window at 57 - Testing collisions - Expected 128.00, actual 0.00 ( 0.00x)
- Window at 58 - Testing collisions - Expected 128.00, actual 524288.00 (4096.00x) !!!!!
- Window at 59 - Testing collisions - Expected 128.00, actual 786432.00 (6144.01x) !!!!!
- Window at 60 - Testing collisions - Expected 128.00, actual 917504.00 (7168.01x) !!!!!
- Window at 61 - Testing collisions - Expected 128.00, actual 917504.00 (7168.01x) !!!!!
- Window at 62 - Testing collisions - Expected 128.00, actual 917504.00 (7168.01x) !!!!!
- Window at 63 - Testing collisions - Expected 128.00, actual 917504.00 (7168.01x) !!!!!
- Window at 64 - Testing collisions - Expected 128.00, actual 917504.00 (7168.01x) !!!!!
- *********FAIL*********
- [[[ Keyset 'Text' Tests ]]]
- Keyset 'Text' - keys of form "Foo[XXXX]Bar" - 14776336 keys
- Testing collisions - Expected 25418.13, actual 13310656.00 (523.67x) !!!!!
- Testing distribution - Worst bias is the 20-bit window at bit 7 - 76.260% !!!!!
- Keyset 'Text' - keys of form "FooBar[XXXX]" - 14776336 keys
- Testing collisions - Expected 25418.13, actual 13310656.00 (523.67x) !!!!!
- Testing distribution - Worst bias is the 20-bit window at bit 12 - 99.959% !!!!!
- Keyset 'Text' - keys of form "[XXXX]FooBar" - 14776336 keys
- Testing collisions - Expected 25418.13, actual 13310656.00 (523.67x) !!!!!
- Testing distribution - Worst bias is the 20-bit window at bit 5 - 61.897% !!!!!
- *********FAIL*********
- [[[ Keyset 'Zeroes' Tests ]]]
- Keyset 'Zeroes' - 65536 keys
- Testing collisions - Expected 0.50, actual 65535.00 (131072.00x) !!!!!
- Testing distribution - Worst bias is the 13-bit window at bit 0 - 99.988% !!!!!
- *********FAIL*********
- [[[ Keyset 'Seed' Tests ]]]
- Keyset 'Seed' - 1000000 keys
- Testing collisions - Expected 116.42, actual 0.00 ( 0.00x)
- Testing distribution - Worst bias is the 15-bit window at bit 19 - 49.181% !!!!!
- Input vcode 0x21a25ce3, Output vcode 0x95c2ce19, Result vcode 0x00000001
- Verification value is 0x00000001 - Testing took 1769.050688 seconds
- -------------------------------------------------------------------------------
|