wyhash
meow_hash
Our great sponsors
wyhash | meow_hash | |
---|---|---|
9 | 13 | |
909 | 1,666 | |
- | - | |
6.6 | 0.0 | |
3 months ago | over 1 year ago | |
C | C++ | |
The Unlicense | zlib License |
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
meow_hash
-
Use fast data algorithms (2021)
I'm late on the reply but I was using xxhash for something similar, but found that Meow hash was faster for me. Feel free to benchmark, since I'm sure it could vary depending on CPU architecture.
- Meow Hash (2018)
- Meow Hash
-
Cryptanalysis of Meow Hash
for everyone who doesn't think highly of Casey Muratori (or at least the way he conducts himself online), the author of Meow Hash, took the criticism quite graciously:
https://twitter.com/cmuratori/status/1417546500083568641
https://github.com/cmuratori/meow_hash/issues/80
- Full 128-bit collision between two files in Meow Hash
-
Reading a file in parallel
Is a standardized hashing algorithm required? SHA256 takes several CPU cycle per byte, but there are several hashing algorithm utilizing AES-NI that gives them 15-16 bytes per cycles, which translates to tens of gigabytes per second on modern CPU. At least one of them has been ported to .NET Core, and from what I see properly calls AES primitives.
-
76% Faster CPython
MeowHash is the fastest non-cryptographic hash available online, and if it were used in CPython, which performs a hash for every fundamental operation in the language, then Python would be much faster.
-
New Bare Hash Map: 2X-3X Speedup over SOTA
Meow hash claims 3-4x faster hashing over this, still passes smhasher, and is a few years old. https://mollyrocket.com/meowhash
-
A Hashmap for the C Programming Language
Have you seen the meow hash implementation? Would that be suitable for this ?
What are some alternatives?
smhasher - Hash function quality and speed tests
xxHash - Extremely fast non-cryptographic hash algorithm
aHash - aHash is a non-cryptographic hashing algorithm that uses the AES hardware instruction
BLAKE3 - the official Rust and C implementations of the BLAKE3 cryptographic hash function
leocad - A CAD application for creating virtual LEGO models
hashbrown - Rust port of Google's SwissTable hash map
smhasher - Automatically exported from code.google.com/p/smhasher
meow_hash.NET - Port of https://github.com/cmuratori/meow_hash to .NET Core
Mersenne-Twister-in-Python - A Mersenne Twister Random Number Generator
pHash - pHash - the open source perceptual hash library
countwords - Playing with counting word frequencies (and performance) in various languages.