Four* non-cryptographic hash functions enter. One leaves.
summary
Compares concrete 32-bit non‑cryptographic hashes implemented in Python (using numpy uints and struct unpack), benchmarks CPU time and collision counts on a words list and the integers 0…n, and reports surprising failure modes: FNV-1a is simple and fast with about five word collisions, MurmurHash3 is slower with similar collisions, xxHash is faster in Python but shows odd word clustering, SuperFastHash collapse loses ~10% of distinct numeric inputs, and crc32 via zlib is fastest with zero numeric collisions and eight word collisions.
AI-written summary · about
chapters (10)
- 0:00Introduction
- 1:04Definitions
- 2:59Noncryptographic hash functions
- 3:54Why would I want this
- 5:13How to implement
- 9:18Integers
- 10:37FMV1A
- 26:03CRC
- 27:11Conclusion
- 28:43Questions
related talks
59mSo You Think You Can Hash
01h 05mImplementing Understandable World Class Hash Tables in C++
01h 03m#Hashing (Hashing Values)
14mSEPH: Scalable, Efficient, and Predictable Hashing on Persistent Memory
40m"Gaining Constant time Lookup over Unorganized Data"
59mUnderstanding Probabilistic Data Structures with 112,092 UFO Sightings
56mWhat we know about hashes
24mWrite-Optimized Dynamic Hashing for Persistent Memory
