Updated November 25th, 2015 to fix broken links to code on GitHub.
One of the great things about having gone OSS is that we can highlight very useful pieces of code inside of the Event Store that are now available with a 3-Clause BSD license. In other words pieces of code that are now available for you to use if you want to.
Today let’s take a look at a namespace most people have probably overlooked in the code base: EventStore.Core.Indexes.Hashes.
There are three hash implementations sitting here:
- Murmur2Unsafe – This is an unsafe C# implementation of the version 2 murmur hash Murmur2 gets a shout out to Davy Landman though we don’t use it at this time.
- Murmur3AUnsafe – This is an unsafe C# implementation of the version 3a murmurhash.
- XXHashUnsafe – This is an unsafe C# implementation of the XXHash.
All three are solid implementations of hash functions. At present we use XXHashUnsafe for the hash inside of the read index.