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