Hash functions and block ciphers
burtleburtle.net
burtleburtle.net
For a hash table you want a function that evaluates really fast, is short, but produces as little collisions as possible given that constraint.
A cryptographic hash can be slower and have more steps, but it should be extremely hard to find a plaintext with a pre-defined hash value, or produce collisions, or one of the many other threat scenarios.
The author of murmurhash actually based their work on Bob Jenkin's trying to make it speedier, and developed a nice hash test suite.
This is surprising. For comparison, I did a test on my Intel Core 2 Duo. Modulo turned out to be about 8.5 times slower than addition. A lot better than Sparc, but it might still be to slow for certain applications.
Google cache here : http://webcache.googleusercontent.com/search?client=ubuntu...