Cyan4973 / xxHash

Extremely fast non-cryptographic hash algorithm
http://www.xxhash.com/
Other
8.96k stars 768 forks source link

Compare to discohash #372

Closed make-github-pseudonymous-again closed 4 years ago

make-github-pseudonymous-again commented 4 years ago

https://github.com/cris691/discohash

easyaspi314 commented 4 years ago

Nothing to write home about on aarch64 for sure...

./xxhsum 0.7.4 by Yann Collet, compiled as 64-bit aarch64 + NEON little endian with Clang 9.0.1
Sample of 100 KB...
XXH32                         :     102400 ->    28157 it/s ( 2749.7 MB/s)
XXH32 unaligned               :     102400 ->    23081 it/s ( 2254.0 MB/s)
XXH64                         :     102400 ->    31571 it/s ( 3083.1 MB/s)
XXH64 unaligned               :     102400 ->    31668 it/s ( 3092.5 MB/s)
XXH3_64b                      :     102400 ->    61948 it/s ( 6049.7 MB/s)
XXH3_64b unaligned            :     102400 ->    57711 it/s ( 5635.8 MB/s)
XXH3_64b w/seed               :     102400 ->    61672 it/s ( 6022.7 MB/s)
XXH3_64b w/seed unaligned     :     102400 ->    56974 it/s ( 5563.9 MB/s)
XXH3_64b w/secret             :     102400 ->    58678 it/s ( 5730.3 MB/s)
XXH3_64b w/secret unaligned   :     102400 ->    54466 it/s ( 5318.9 MB/s)
XXH128                        :     102400 ->    51548 it/s ( 5033.9 MB/s)
XXH128 unaligned              :     102400 ->    48912 it/s ( 4776.6 MB/s)
XXH128 w/seed                 :     102400 ->    52415 it/s ( 5118.7 MB/s)
XXH128 w/seed unaligned       :     102400 ->    49660 it/s ( 4849.6 MB/s)
XXH128 w/secret               :     102400 ->    49943 it/s ( 4877.2 MB/s)
XXH128 w/secret unaligned     :     102400 ->    46412 it/s ( 4532.4 MB/s)
DiscoHash                     :     102400 ->    12382 it/s ( 1209.2 MB/s)
DiscoHash unaligned           :     102400 ->    11626 it/s ( 1135.3 MB/s)
easyaspi314 commented 4 years ago

Well it seems to be affected by clang bug 42874, but fixing that only gets to 1.3 GB/s.

GCC 9 gets 1.4 GB/s.

make-github-pseudonymous-again commented 4 years ago

Thanks for those comparisons! Discohash does not appear yet on https://rurban.github.io/smhasher/doc/table.html ... Although the source is there https://github.com/rurban/smhasher/blob/master/discohash.cpp ... Feel free to close the issue.