JohnLangford/vowpal_wabbit — pull request #44 by arielf (2012-08-12 10:09:10+00:00)
Title: Added murmur3 hash (compile time -DMURMUR3) support to hash.cc hash.h

Hi John,

I revisited hashes and anecdotically found Murmur3 to be superior (less collisions on most cases I tried) to the hash we currently use (Murmur2). It is also slightly faster.

I wrote some details here.
https://github.com/JohnLangford/vowpal_wabbit/wiki/murmur2-vs-murmur3

Adopting this requires:
1) getting this commit
2) Add -DMURMUR3 to the Makefile and make
3) Updating several test suite references since less collisions lead to slightly better models and different outputs.

One Q I have is why did we use seed hash_base = 97562527 in hash.h. I found hash_base = 0 works better on with Murmur3 so I did the ugly thing and ifdef'ed this constant as well.