- This topic has 3 replies, 2 voices, and was last updated 3 years, 8 months ago by .
Viewing 3 reply threads
Viewing 3 reply threads
- You must be logged in to reply to this topic.
Hello,
kbmMW is exclusively using kbmMWHashFNV1A32 for internal hashing but as i case xxHash algorithm is also available which is way faster than FNV according to this benchmark: https://github.com/Cyan4973/xxHash
So replacing the FNV hashing with XXHash could result in better performance!
Thank you
Or generally replacing all other Hash algos to xxHash in all units.
Hi,
Thanks for the pointer…. I have just had a look…. I may look into supporting it natively at some point, but one of the drawbacks performance wise, is that for multiplatform support, I would need to use Pascal only implementation at least for some platforms, which will make it slower than others. It performs really well when using the SSE2 variant
Other options that I have been referred to is Metro64, which seemingly is faster (using non assembler code) and has a better hashing quality.
I will have a look at them all… if better performance for specifically those places where hashes are used extensively (memory debugging lists etc.) can be achieved, it is worth a look 🙂
/Kim
FYI next release will include native MetroHash64 and MetroHash128 implementations.
I have not made any changes currently for replacing FNV1A with another hash in the codebase, but will keep it in mind at least for a performance benchtest to see if there is a significant impact or not.
/Kim