Hacker News new | past | comments | ask | show | jobs | submit login
Hash functions: An empirical comparison (2008) (strchr.com)
34 points by luu on Aug 4, 2014 | hide | past | favorite | 4 comments



Also relevant: http://highscalability.com/blog/2014/8/4/tumblr-hashing-your...

Note the bits on the sdbm hashing algorithm and how they found it to have less collisions than others, then went on so far as to add a patch for it to haproxy.


Here's another hash function comparison with nice pictures: http://programmers.stackexchange.com/a/145633


Worth noting that this was before Intel's hardware CRC32 acceleration became readily available in x86 processors, which makes iSCSI CRC faster than all the others (maybe not for short key lengths)


Nitpick: You're talking about CRC32c (C of Castagnoli) - 0x1EDC6F41. By CRC32 without any additional context people usually mean CRC using polynomial 0x04C11DB7, which is much more common than CRC32c. CRC32 has also a nice feature:

"CRC-32 polynom 0x04C11DB7 can correct 1 byte error in ~1mbit[,] not that correcting single byte errors in such huge blocks is good for anything but ive found a much better one specifically 0x0D438219 which can correct one byte error in 9747877 bits" [1]

[1] http://guru.multimedia.cx/category/error-correcting-codes/




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: