Skip to content
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

Use xxh3 instead of murmurhash3 for better performance of hashing #11738

Open
plokhotnyuk opened this issue Sep 15, 2019 · 1 comment

Comments

@plokhotnyuk
Copy link

commented Sep 15, 2019

Link to the xxHash release which suports xxh3: https://github.com/Cyan4973/xxHash/releases/tag/v0.7.0

Link to the current implementation of Mumur hashing in Scala: https://github.com/scala/scala/blob/2.12.x/src/library/scala/util/hashing/MurmurHash3.scala#L181-L201

@Ichoran

This comment has been minimized.

Copy link

commented Sep 15, 2019

The problem is that xxHash on the JVM isn't, in the implementations I've tested, faster than MurmurHash3. I haven't explored MetroHash, but it's 64 bits (at a minimum) anyway, and it's CPU-specific; I'm not sure how well it performs on alternate architectures (e.g. AMD).

If someone wanted to do the work of benchmarking the latest hash variants and got promising results we could switch again, but last time we did this MurmurHash2 (actually--3 wasn't out yet) was the best available, all things considered. (Including better than xxHash at the time.)

@plokhotnyuk plokhotnyuk changed the title Use xxh3 instead of murmurhash3 for better performance of hashing Use xxh3 instead of murmurhash2 for better performance of hashing Sep 15, 2019
@plokhotnyuk plokhotnyuk changed the title Use xxh3 instead of murmurhash2 for better performance of hashing Use xxh3 instead of murmurhash3 for better performance of hashing Sep 15, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.