Five* non-cryptographic hash functions enter. One hash function leaves.
Channel: Linux.conf.au 2016 -- Geelong, Australia
Date: 2016-02-06

Adam Harvey
https://linux.conf.au/schedule/30208/view_talk
When you say “hash function” in a room full of developers, people tend to think of the classics: MD5, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, SHA-OHGODPLEASESTOP, and the like — cryptographic hash functions intended for cryptographic uses.

There’s another world out there, though: non-cryptographic hashes. Sometimes you just need to figure out if you’ve already seen a string or structure. Sometimes you need a basic checksum. Sometimes you need a hash that’s just fast and can fit into a 32 bit integer.

I’ll run through the state of the art in the world of non-cryptographic hashing — what your best options are, how they compare in terms of CPU and memory usage, and how they work. Who takes it? Whose mixing function reigns supreme?

Let’s find out.

* I’m saying “five”, but realistically I’m going to cover as many modern options as I can fit into the time available. Let’s say “five plus or minus two” in reality.