Skip to content
This repository has been archived by the owner on Sep 22, 2022. It is now read-only.

Comparison with xxHash #1

Closed
leventov opened this issue Nov 17, 2016 · 1 comment
Closed

Comparison with xxHash #1

leventov opened this issue Nov 17, 2016 · 1 comment
Labels

Comments

@leventov
Copy link

If the primary purpose of this project is speed, why not xxHash, which is significantly faster than CityHash and has the same quality according to SMHasher?

@erthink
Copy link
Owner

erthink commented Nov 17, 2016

$ git clone https://github.com/leo-yuriev/t1ha.git
$ cd t1ha
$ git checkout smhasher-rurban.t1ha
$ cmake .
$ make
$ ./SMHasher t1ha
[[[ Speed Tests ]]]

Bulk speed test - 262144-byte keys
Alignment  7 -  5.252 bytes/cycle - 15027.35 MiB/sec @ 3 ghz
Alignment  6 -  5.252 bytes/cycle - 15025.11 MiB/sec @ 3 ghz
Alignment  5 -  5.252 bytes/cycle - 15026.85 MiB/sec @ 3 ghz
Alignment  4 -  5.252 bytes/cycle - 15025.46 MiB/sec @ 3 ghz
Alignment  3 -  5.252 bytes/cycle - 15026.78 MiB/sec @ 3 ghz
Alignment  2 -  5.252 bytes/cycle - 15025.54 MiB/sec @ 3 ghz
Alignment  1 -  5.252 bytes/cycle - 15026.04 MiB/sec @ 3 ghz
Alignment  0 -  5.469 bytes/cycle - 15646.02 MiB/sec @ 3 ghz
Average      -  5.279 bytes/cycle - 15103.64 MiB/sec @ 3 ghz

Small key speed test -    1-byte keys -    36.00 cycles/hash
Small key speed test -    2-byte keys -    35.98 cycles/hash
Small key speed test -    3-byte keys -    36.00 cycles/hash
Small key speed test -    4-byte keys -    36.00 cycles/hash
Small key speed test -    5-byte keys -    35.96 cycles/hash
Small key speed test -    6-byte keys -    35.99 cycles/hash
Small key speed test -    7-byte keys -    36.00 cycles/hash
Small key speed test -    8-byte keys -    36.00 cycles/hash
Small key speed test -    9-byte keys -    33.00 cycles/hash
Small key speed test -   10-byte keys -    33.00 cycles/hash
Small key speed test -   11-byte keys -    33.00 cycles/hash
Small key speed test -   12-byte keys -    33.00 cycles/hash
Small key speed test -   13-byte keys -    33.00 cycles/hash
Small key speed test -   14-byte keys -    33.00 cycles/hash
Small key speed test -   15-byte keys -    33.00 cycles/hash
Small key speed test -   16-byte keys -    33.00 cycles/hash
Small key speed test -   17-byte keys -    37.00 cycles/hash
Small key speed test -   18-byte keys -    37.00 cycles/hash
Small key speed test -   19-byte keys -    37.00 cycles/hash
Small key speed test -   20-byte keys -    37.00 cycles/hash
Small key speed test -   21-byte keys -    37.00 cycles/hash
Small key speed test -   22-byte keys -    37.00 cycles/hash
Small key speed test -   23-byte keys -    37.00 cycles/hash
Small key speed test -   24-byte keys -    37.00 cycles/hash
Small key speed test -   25-byte keys -    39.74 cycles/hash
Small key speed test -   26-byte keys -    39.53 cycles/hash
Small key speed test -   27-byte keys -    39.48 cycles/hash
Small key speed test -   28-byte keys -    39.51 cycles/hash
Small key speed test -   29-byte keys -    39.77 cycles/hash
Small key speed test -   30-byte keys -    39.55 cycles/hash
Small key speed test -   31-byte keys -    39.54 cycles/hash
Average                                    36.292 cycles/hash
$ ./SMHasher xxHash64
[[[ Speed Tests ]]]

Bulk speed test - 262144-byte keys
Alignment  7 -  4.471 bytes/cycle - 12792.19 MiB/sec @ 3 ghz
Alignment  6 -  4.477 bytes/cycle - 12809.43 MiB/sec @ 3 ghz
Alignment  5 -  4.500 bytes/cycle - 12873.36 MiB/sec @ 3 ghz
Alignment  4 -  4.481 bytes/cycle - 12820.81 MiB/sec @ 3 ghz
Alignment  3 -  4.490 bytes/cycle - 12845.36 MiB/sec @ 3 ghz
Alignment  2 -  4.528 bytes/cycle - 12954.99 MiB/sec @ 3 ghz
Alignment  1 -  4.495 bytes/cycle - 12860.76 MiB/sec @ 3 ghz
Alignment  0 -  4.582 bytes/cycle - 13110.26 MiB/sec @ 3 ghz
Average      -  4.503 bytes/cycle - 12883.40 MiB/sec @ 3 ghz

Small key speed test -    1-byte keys -    27.22 cycles/hash
Small key speed test -    2-byte keys -    31.70 cycles/hash
Small key speed test -    3-byte keys -    36.75 cycles/hash
Small key speed test -    4-byte keys -    28.27 cycles/hash
Small key speed test -    5-byte keys -    33.25 cycles/hash
Small key speed test -    6-byte keys -    36.85 cycles/hash
Small key speed test -    7-byte keys -    41.19 cycles/hash
Small key speed test -    8-byte keys -    40.11 cycles/hash
Small key speed test -    9-byte keys -    44.54 cycles/hash
Small key speed test -   10-byte keys -    48.81 cycles/hash
Small key speed test -   11-byte keys -    52.45 cycles/hash
Small key speed test -   12-byte keys -    45.46 cycles/hash
Small key speed test -   13-byte keys -    49.34 cycles/hash
Small key speed test -   14-byte keys -    53.57 cycles/hash
Small key speed test -   15-byte keys -    58.47 cycles/hash
Small key speed test -   16-byte keys -    45.10 cycles/hash
Small key speed test -   17-byte keys -    49.55 cycles/hash
Small key speed test -   18-byte keys -    53.75 cycles/hash
Small key speed test -   19-byte keys -    58.24 cycles/hash
Small key speed test -   20-byte keys -    51.17 cycles/hash
Small key speed test -   21-byte keys -    55.18 cycles/hash
Small key speed test -   22-byte keys -    59.36 cycles/hash
Small key speed test -   23-byte keys -    63.38 cycles/hash
Small key speed test -   24-byte keys -    50.57 cycles/hash
Small key speed test -   25-byte keys -    55.20 cycles/hash
Small key speed test -   26-byte keys -    59.52 cycles/hash
Small key speed test -   27-byte keys -    63.22 cycles/hash
Small key speed test -   28-byte keys -    55.94 cycles/hash
Small key speed test -   29-byte keys -    60.79 cycles/hash
Small key speed test -   30-byte keys -    65.26 cycles/hash
Small key speed test -   31-byte keys -    69.41 cycles/hash
Average                                    49.794 cycles/hash
$ cat /proc/cpuinfo | grep name
model name  : Intel(R) Core(TM) i7-4600U CPU @ 2.10GHz

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

2 participants