Bob Jenkins' Web SiteHere's a 128-bit noncryptographic hash that runs at 3 bytes/cycle for long messages. Don't use it for anything important ... it hasn't been tested enough yet. It's much slower than lookup3 for short messages. Most uses of noncryptographic hashing have mostly short messages. The code and ideas behind this hash are quite ugly. My perfect hash function is obsolete. See here. The basic idea is to split 200 gazillion keys into a gazillion buckets, have each buckets find a perfect hash for its 200 some keys, plus store offsets to the start of each bucket (each offset is the total number of keys in all buckets before this one). That reduces the problem to finding a perfect hash of 200 keys, which can be done in parallel for each bucket. |
![]() |
Table of Contents (internal links):