-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
134 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,77 @@ | ||
# Bencher 1 | ||
|
||
This benchmark compare siphash, fnv, xxhash and zero-xxhash all in one place. | ||
|
||
# Run benchmark | ||
|
||
``` | ||
rustup run nightly cargo bench --features=bench | ||
``` | ||
|
||
# Result | ||
|
||
``` | ||
running 60 tests | ||
test bench32::xxhash32_0_byte ... bench: 7 ns/iter (+/- 2) | ||
test bench32::xxhash32_1024_byte ... bench: 301 ns/iter (+/- 24) = 6803 MB/s | ||
test bench32::xxhash32_128_byte ... bench: 41 ns/iter (+/- 8) = 6243 MB/s | ||
test bench32::xxhash32_16_byte ... bench: 11 ns/iter (+/- 1) = 2909 MB/s | ||
test bench32::xxhash32_1_byte ... bench: 12 ns/iter (+/- 2) = 166 MB/s | ||
test bench32::xxhash32_256_byte ... bench: 83 ns/iter (+/- 14) = 6168 MB/s | ||
test bench32::xxhash32_32_byte ... bench: 15 ns/iter (+/- 2) = 4266 MB/s | ||
test bench32::xxhash32_4_byte ... bench: 10 ns/iter (+/- 1) = 800 MB/s | ||
test bench32::xxhash32_512_byte ... bench: 150 ns/iter (+/- 22) = 6826 MB/s | ||
test bench32::xxhash32_megabyte ... bench: 278,979 ns/iter (+/- 54,589) = 7517 MB/s | ||
test bench32::zerohash32_0_byte ... bench: 2 ns/iter (+/- 0) | ||
test bench32::zerohash32_1024_byte ... bench: 276 ns/iter (+/- 48) = 7420 MB/s | ||
test bench32::zerohash32_128_byte ... bench: 36 ns/iter (+/- 5) = 7111 MB/s | ||
test bench32::zerohash32_16_byte ... bench: 7 ns/iter (+/- 1) = 4571 MB/s | ||
test bench32::zerohash32_1_byte ... bench: 3 ns/iter (+/- 0) = 666 MB/s | ||
test bench32::zerohash32_256_byte ... bench: 70 ns/iter (+/- 13) = 7314 MB/s | ||
test bench32::zerohash32_32_byte ... bench: 11 ns/iter (+/- 1) = 5818 MB/s | ||
test bench32::zerohash32_4_byte ... bench: 3 ns/iter (+/- 0) = 2666 MB/s | ||
test bench32::zerohash32_512_byte ... bench: 138 ns/iter (+/- 17) = 7420 MB/s | ||
test bench32::zerohash32_megabyte ... bench: 277,474 ns/iter (+/- 26,249) = 7558 MB/s | ||
test bench64::fnvhash_0_byte ... bench: 0 ns/iter (+/- 0) | ||
test bench64::fnvhash_1024_byte ... bench: 2,161 ns/iter (+/- 206) = 947 MB/s | ||
test bench64::fnvhash_128_byte ... bench: 279 ns/iter (+/- 61) = 917 MB/s | ||
test bench64::fnvhash_16_byte ... bench: 33 ns/iter (+/- 6) = 969 MB/s | ||
test bench64::fnvhash_1_byte ... bench: 2 ns/iter (+/- 0) = 1000 MB/s | ||
test bench64::fnvhash_256_byte ... bench: 540 ns/iter (+/- 38) = 948 MB/s | ||
test bench64::fnvhash_4_byte ... bench: 8 ns/iter (+/- 0) = 1000 MB/s | ||
test bench64::fnvhash_512_byte ... bench: 1,080 ns/iter (+/- 70) = 948 MB/s | ||
test bench64::fnvhash_64_byte ... bench: 135 ns/iter (+/- 13) = 948 MB/s | ||
test bench64::fnvhash_megabyte ... bench: 2,330,381 ns/iter (+/- 318,062) = 899 MB/s | ||
test bench64::siphash_0_byte ... bench: 9 ns/iter (+/- 2) | ||
test bench64::siphash_1024_byte ... bench: 917 ns/iter (+/- 71) = 2233 MB/s | ||
test bench64::siphash_128_byte ... bench: 125 ns/iter (+/- 18) = 2048 MB/s | ||
test bench64::siphash_16_byte ... bench: 24 ns/iter (+/- 4) = 1333 MB/s | ||
test bench64::siphash_1_byte ... bench: 12 ns/iter (+/- 2) = 166 MB/s | ||
test bench64::siphash_256_byte ... bench: 229 ns/iter (+/- 21) = 2235 MB/s | ||
test bench64::siphash_4_byte ... bench: 13 ns/iter (+/- 0) = 615 MB/s | ||
test bench64::siphash_512_byte ... bench: 450 ns/iter (+/- 33) = 2275 MB/s | ||
test bench64::siphash_64_byte ... bench: 65 ns/iter (+/- 8) = 1969 MB/s | ||
test bench64::siphash_megabyte ... bench: 897,636 ns/iter (+/- 96,180) = 2336 MB/s | ||
test bench64::xxhash64_0_byte ... bench: 9 ns/iter (+/- 1) | ||
test bench64::xxhash64_1024_byte ... bench: 149 ns/iter (+/- 45) = 13744 MB/s | ||
test bench64::xxhash64_128_byte ... bench: 30 ns/iter (+/- 3) = 8533 MB/s | ||
test bench64::xxhash64_16_byte ... bench: 15 ns/iter (+/- 1) = 2133 MB/s | ||
test bench64::xxhash64_1_byte ... bench: 17 ns/iter (+/- 1) = 117 MB/s | ||
test bench64::xxhash64_256_byte ... bench: 46 ns/iter (+/- 3) = 11130 MB/s | ||
test bench64::xxhash64_4_byte ... bench: 16 ns/iter (+/- 0) = 500 MB/s | ||
test bench64::xxhash64_512_byte ... bench: 79 ns/iter (+/- 5) = 12962 MB/s | ||
test bench64::xxhash64_64_byte ... bench: 21 ns/iter (+/- 3) = 6095 MB/s | ||
test bench64::xxhash64_megabyte ... bench: 138,646 ns/iter (+/- 11,434) = 15125 MB/s | ||
test bench64::zerohash64_0_byte ... bench: 3 ns/iter (+/- 0) | ||
test bench64::zerohash64_1024_byte ... bench: 151 ns/iter (+/- 41) = 13562 MB/s | ||
test bench64::zerohash64_128_byte ... bench: 25 ns/iter (+/- 1) = 10240 MB/s | ||
test bench64::zerohash64_16_byte ... bench: 10 ns/iter (+/- 0) = 3200 MB/s | ||
test bench64::zerohash64_1_byte ... bench: 4 ns/iter (+/- 0) = 500 MB/s | ||
test bench64::zerohash64_256_byte ... bench: 41 ns/iter (+/- 2) = 12487 MB/s | ||
test bench64::zerohash64_4_byte ... bench: 5 ns/iter (+/- 0) = 1600 MB/s | ||
test bench64::zerohash64_512_byte ... bench: 75 ns/iter (+/- 3) = 13653 MB/s | ||
test bench64::zerohash64_64_byte ... bench: 18 ns/iter (+/- 0) = 7111 MB/s | ||
test bench64::zerohash64_megabyte ... bench: 138,870 ns/iter (+/- 9,956) = 15101 MB/s | ||
test result: ok. 0 passed; 0 failed; 0 ignored; 60 measured; 0 filtered out | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
# Bencher 2 | ||
|
||
This benchmark use [criterion](https://github.com/japaric/criterion.rs) for analyzing and only focus on zero-xxhash and twox-hash/xxhash. | ||
|
||
# Run benchmark | ||
|
||
``` | ||
cargo build --release | ||
./target/release/bencher2 | ||
``` | ||
|
||
# Result | ||
|
||
``` | ||
xxhash64-16777216 time: [1.9262 ms 1.9299 ms 1.9339 ms] | ||
change: [-0.0822% +0.1750% +0.4285%] (p = 0.18 > 0.05) | ||
No change in performance detected. | ||
Found 1 outliers among 100 measurements (1.00%) | ||
1 (1.00%) high mild | ||
zero-xxhash64-16777216 time: [1.9249 ms 1.9292 ms 1.9341 ms] | ||
change: [-0.1205% +0.0940% +0.3149%] (p = 0.40 > 0.05) | ||
No change in performance detected. | ||
Found 1 outliers among 100 measurements (1.00%) | ||
1 (1.00%) high mild | ||
xxhash64-16384 time: [1.6723 us 1.6723 us 1.6724 us] | ||
change: [+0.0190% +0.0258% +0.0328%] (p = 0.00 < 0.05) | ||
Change within noise threshold. | ||
Found 8 outliers among 100 measurements (8.00%) | ||
1 (1.00%) low mild | ||
6 (6.00%) high mild | ||
1 (1.00%) high severe | ||
zero-xxhash64-16384 time: [1.6653 us 1.6654 us 1.6655 us] | ||
change: [+0.1564% +0.1631% +0.1702%] (p = 0.00 < 0.05) | ||
Change within noise threshold. | ||
Found 12 outliers among 100 measurements (12.00%) | ||
1 (1.00%) low mild | ||
8 (8.00%) high mild | ||
3 (3.00%) high severe | ||
xxhash64-8192 time: [849.84 ns 850.06 ns 850.32 ns] | ||
change: [-0.1293% -0.0988% -0.0702%] (p = 0.00 < 0.05) | ||
Change within noise threshold. | ||
Found 22 outliers among 100 measurements (22.00%) | ||
16 (16.00%) high mild | ||
6 (6.00%) high severe | ||
zero-xxhash64-8192 time: [836.34 ns 836.39 ns 836.47 ns] | ||
change: [+0.0255% +0.0367% +0.0516%] (p = 0.00 < 0.05) | ||
Change within noise threshold. | ||
Found 13 outliers among 100 measurements (13.00%) | ||
2 (2.00%) low mild | ||
7 (7.00%) high mild | ||
4 (4.00%) high severe | ||
``` |