You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "qweek (via GitHub)" <gi...@apache.org> on 2023/04/10 08:22:05 UTC
[GitHub] [maven-build-cache-extension] qweek commented on pull request #58: Add METRO hash implementation, change the default, fix the web site
qweek commented on PR #58:
URL: https://github.com/apache/maven-build-cache-extension/pull/58#issuecomment-1501545211
Hi, gnodet
I don't mind adding a new hashing algorithm, but wouldn't make it the default.
Last time original MetroHash repository was updated 5 years ago and is currently unmaintained.
https://github.com/jandrewrogers/MetroHash
Also, according to most known hash comparison benchmark MetroHash have same quality problems
https://github.com/rurban/smhasher
metrohash64_2: UB, LongNeighbors
https://github.com/rurban/smhasher/blob/master/doc/metrohash64_2.txt
We chose XX as most known, mature and fast option (with quality score 10)
https://github.com/Cyan4973/xxHash
Hash speed is highly dependent on operating system, as far as I remember in our tests on Linux, Memory Mapped version was faster, and on Windows it was slower (that's why we use both). It may also depend on the file system, CPU, etc
Unfortunately, Zero-Allocation-Hashing repository does not contain performance benchmark for Metro
https://github.com/OpenHFT/Zero-Allocation-Hashing/issues/28
Smhasher benchmark is not relevant because it use C++ versions, but it says
"Fastest hash functions on x86_64 without quality problems are:
xxh3low
wyhash
ahash64
t1ha2_atonce
komihash
FarmHash (not portable, too machine specific: 64 vs 32bit, old gcc, ...)
halftime_hash128
Spooky32
pengyhash
nmhash32
mx3
MUM/mir (different results on 32/64-bit archs, lots of bad seeds to filter out)
fasthash32"
P.S. it seemed to me that we tested version with XX3, but I'm not sure that it got into final release
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@maven.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org