-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ConsistentHash formula #156
Comments
Haven't looked at the code, but are the hashes ever used between processes or AppDomains? If yes, then we must implement something else. |
What a coincidence - I'm working on an open-source HyperLogLog implementation (which we'll be using in combination with Akka.NET) and as part of this I've had to implement Murmur3. I'm still doing some bugfixes with my Murmur3 implementation, but I should have a copy of it available later this week. I have both a 32-bit Murmur3 and 128-bit Murmur3 implementation, but I'm thinking about canning the 128-bit one. For our purposes it's probably overkill. |
Related to #11 |
Here's the Murmur3 implementation I want to use, from MarkedUp's new OpenMetrics project: It's been performance tested for collisions and hashing speed (clone the project to find out for yourself ;)) and is based off of the canonical C++ implementation and the developer interface (how it gets used by programmers) is based off of Scala's internal Murmur3 implementation. I'm planning on lumping this and https://github.com/markedup-mobi/openmetrics/blob/master/src/MarkedUp.HyperLogLog/BitArrayHelpers.cs (used mostly for hashing Any objections? |
👯 Go for it |
+1 |
The ConsistentHash routers in Akka uses Murmur hash to ensure even distribution.
Our version simply uses GetHashCode() atm.
Do we need Murmur hash or is the built in .NET hashcode enough to ensure even distribution among routees?
The text was updated successfully, but these errors were encountered: