Commit Graph

5 Commits

Author SHA1 Message Date
gingerBill 1e9cc058a0 Update hash.crc32 to use slicing-by-8 algorithm to improve throughput by ~3.5x 2021-06-24 00:03:59 +01:00
Jeroen van Rijn 1cfe226686 ZLIB: More faster. 2021-06-23 22:18:17 +02:00
Jeroen van Rijn f4d0f74dbb Allow seeding CRC32, CRC64 & Adler32 with previous partial hash.
Foo  := []u8{'F', 'o','o', '3', 'F', 'o', 'o', '4'};
crc     := hash.crc32(Foo[0:4]);
crc      = hash.crc32(Foo[4:], crc);
crc_all := hash.crc32(Foo);

fmt.printf("%8x %8x\n", crc, crc_all);
d6285ff7 d6285ff7

a32     := hash.adler32(Foo[0:4]);
a32      = hash.adler32(Foo[4:], a32);
a32_all := hash.adler32(Foo);

fmt.printf("%8x %8x\n", a32, a32_all);
0c5102b0 0c5102b0
2021-03-25 13:48:34 +01:00
gingerBill de13584be2 Add #no_bounds_check to crc procedures 2020-10-14 16:00:08 +01:00
gingerBill 5edb1e8a28 Add hash.djb2 hash.jenkins; Add container.Bloom_Filter; Add container.Ring 2020-06-16 12:53:57 +01:00