Closed rurban closed 5 years ago
Added some more useful variants, just fletcher, crypto and some FNV variants are missing.
Another interesting hash is FastHash64: https://code.google.com/p/fast-hash/
If you're interested, I just uploaded a full C99 translation of FarmHash.
There is also CLHash and my FARSH. FARSH seems to be fastest in town - once you have AVX2 cpu :) https://github.com/lemire/clhash https://github.com/Bulat-Ziganshin/FARSH#benchmark
Added 2 SipHash variants, but not the faster Google TreeHash. chaskey (also a variant) is in a branch, and needs a few fixes.
crcutil is in the zlib branch, the rest is done already
https://code.google.com/p/crcutil/ has some efficient (in fact the currently most efficient) funcs. multiword_128_64_gcc_amd64_sse2
http://www.strchr.com/hash_functions lists some FNV1 based improvements and more, with a good quality check from the dragon book. https://github.com/gpnuma/fsbench-density.git could be imported as submodule. esp. Jesteress, Meiyan, YoshimitsuTRIAD, Tesla, ... and they (fsbench) have also all the new secure hashes.
CityHash32 (without seed, but can be added. I wrote one)
fletcher2,4 from ZFS
I wrote also the metrohash64crc_1,2 variants, but with too many collisions in one test so far.
sse4.2 run-time probing can be added into main, to see if the target can run the version which was configured.