Xxhash: ๋””์Šค์ฝ”ํ•ด์‹œ์™€ ๋น„๊ต

์— ๋งŒ๋“  2020๋…„ 05์›” 25์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: Cyan4973/xxHash

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

ํ™•์‹คํžˆ arch64์— ๋Œ€ํ•ด ์ง‘์— ์“ธ ๊ฒƒ์ด ์—†์Šต๋‹ˆ๋‹ค ...

./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)

๋ชจ๋“  3 ๋Œ“๊ธ€

ํ™•์‹คํžˆ arch64์— ๋Œ€ํ•ด ์ง‘์— ์“ธ ๊ฒƒ์ด ์—†์Šต๋‹ˆ๋‹ค ...

./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)

๊ธ€์Ž„, ๊ทธ๊ฒƒ์€ clang ๋ฒ„๊ทธ 42874 ์˜ ์˜ํ–ฅ์„ ๋ฐ›๋Š” ๊ฒƒ ๊ฐ™์ง€๋งŒ ์ˆ˜์ •ํ•˜๋ฉด 1.3GB/s์— ๋„๋‹ฌํ•ฉ๋‹ˆ๋‹ค.

GCC 9๋Š” 1.4GB/s๋ฅผ ์–ป์Šต๋‹ˆ๋‹ค.

๋น„๊ตํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!
Discohash๋Š” ์•„์ง https://rurban.github.io/smhasher/doc/table.html์— ๋‚˜ํƒ€๋‚˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค ... ์†Œ์Šค๋Š” ์žˆ์ง€๋งŒ https://github.com/rurban/smhasher/blob/master/discohash.cpp ...
๋ฌธ์ œ๋ฅผ ๋‹ซ์œผ์‹ญ์‹œ์˜ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰