-
Notifications
You must be signed in to change notification settings - Fork 169
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
Avoid stack allocation in xxhash64 #547
Comments
Are we expecting a performance improvement as a result? (I doubt stack allocations are a performance bottleneck) |
Linking this to #517 too.
+1. I think we may need to figure out the root cause first. It might that the implementation of |
Thanks @advancedxy. Yes, it definitely needs more investigation. |
Here are benchmark results comparing murmur3 to xxhash64. xxhash64 is 3x slower (not sure if that is the expectation) but what is more interesting is that there is a warning during warmup (Unable to complete 100 samples in 5.0s).
|
@advancedxy I am working on re-implementing this now in a simpler way as an experiement ... I will aim to have a PR up by end of day |
xxhash64 is by no means slower than murmur3. Here's a sample benchmark: https://lz4.github.io/lz4-java/1.3.0/xxhash-benchmark/ |
Thanks for your effort.
I don't think this is expected as @parthchandra already pointed out xxhash64 should be much faster than murmur3. Even the TPC-H q8 is not related to XXHash64, we should still investigate it further and improve its performance. I can help with that, though it's not urgent then. |
What is the problem the feature request solves?
Here is the current xxhash64 implementation:
As the TODO comment states, it may be better to implement without stack allocation.
Here is Spark's version for reference:
Describe the potential solution
No response
Additional context
No response
The text was updated successfully, but these errors were encountered: