Home > Uncategorized > MurmurHash


November 5th, 2010 Leave a comment Go to comments

MurmurHash is a non-cryptographic hash function suitable for general hash-based lookup. It was created by Austin Appleby in 2008, and exists in a number of variants, all of which have been released into the public domain.


The current version is MurmurHash2, which yields a 32-bit hash value and is optimized for Intel processors. Slower versions of MurmurHash2 are available for big-endian and aligned-only machines. The MurmurHash2A variant adds the Merkle-Damgard construction so that it can be called incrementally. There are two variants which generate 64-bit values; MurmurHash64A, which is optimized for 64-bit processors, and MurmurHash64B, for 32-bit ones. MurmurHash1 is obsolete.


The canonical implementations are in C++, but there are efficient ports for a variety of popular languages, including Python, C#, Perl, Ruby, Haskell, Java, and JavaScript.

It has been adopted into a number of open-source projects, most notably libmemcached (the C driver for Memcached), maatkit, and Hadoop.

  1. No comments yet.
  1. No trackbacks yet.
You must be logged in to post a comment.