wyhash
smhasher
Our great sponsors
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
wyhash
- Wyhash: The fastest quality hash function
-
What hash function you use for hash maps / hash tables?
I recently switched to wyhash as it seems to have a good combination of speed and stability.
-
Are there any weaker hashes than MD5, but still randomly distributed?
wyhash is a decent option for if you don't need a cryptographical quality hash
-
Hacker News top posts: Mar 15, 2021
New Bare Hash Map: 2X-3X Speedup over SOTA\ (32 comments)
-
New Bare Hash Map: 2X-3X Speedup over SOTA
I feel like you’d want something a bit safer than “we don’t store the keys and just rely on the hash to be really good” [1], putting “please do not use this for serious tasks” in a comment embedded in the header file isn’t a clear enough warning.
It’s not clear to me that that probability of collision assumptions hold. It’s basically assuming that the hashing is perfect and distributes any inputs to the full 64-bit space with uniform probability. That’s the usual hash map / randomized algorithm hope, but does BigCrush or similar avalanche testing really prove that? (Presumably not, otherwise there wouldn’t be image attacks for things like md5).
[1] https://github.com/wangyi-fudan/wyhash/blob/d2a305811972f391...
- wyhash and wyrand are a non-cryptographic 64-bit hash function and PRNG respectively
smhasher
- Murmurhash -criando um rollout progressivo via backend
-
Is there any hashing library for c++ Or any other way I can use SHA256 hash
For non-cryptographic purposes you can consider MurmurHash: https://github.com/aappleby/smhasher/tree/master/src
-
GateBoy – a gate-level Game Boy simulator
This is very impressive!
The creator—Austin Appleby—also created MurmurHash, which is very useful for data structures like Bloom filters. The canonical MurmurHash implementation was released with a handy non-cryptographic hashing test suite.
https://github.com/aappleby/smhasher
Thanks for your work, Austin!
What are some alternatives?
smhasher - Hash function quality and speed tests
aHash - aHash is a non-cryptographic hashing algorithm that uses the AES hardware instruction
meow_hash - Official version of the Meow hash, an extremely fast level 1 hash
metroboy - A repository of gate-level simulators and tools for the original Game Boy.
leocad - A CAD application for creating virtual LEGO models
highwayhash - Fast strong hash functions: SipHash/HighwayHash
Mersenne-Twister-in-Python - A Mersenne Twister Random Number Generator
png-decoder - A pure-Rust, no_std compatible PNG decoder
countwords - Playing with counting word frequencies (and performance) in various languages.
Hashids.java - Hashids algorithm v1.0.0 implementation in Java