I ran following test as shown in [0]. The results are in [1]. You can see that the xxhash algorithm takes constant 45ms time until 240 byte input, and then for 241 byte input, it jumps to 572ms. This looks odd, may be I am doing something wrong?
[0]
Cargo.toml
[dependencies]
twox-hash = "2.0.1"
rand = "0.8.5"
criterion = "0.5.1"
[dependencies.xxhash-rust]
version = "0.8.12"
features = ["xxh3", "const_xxh3"]
[profile.dev]
opt-level = 3
rustc features
% rustc --print=cfg
debug_assertions
panic="unwind"
target_abi=""
target_arch="x86_64"
target_endian="little"
target_env="gnu"
target_family="unix"
target_feature="fxsr"
target_feature="sse"
target_feature="sse2"
target_has_atomic="16"
target_has_atomic="32"
target_has_atomic="64"
target_has_atomic="8"
target_has_atomic="ptr"
target_os="linux"
target_pointer_width="64"
target_vendor="unknown"
unix
Code
#[test]
fn test_hash_speeds() {
{ 1..256 }.for_each(|x| {
test_hash_speeds_per_size(x);
});
[512, 1024, 2048].iter().for_each(|x| {
test_hash_speeds_per_size(*x);
});
}
fn test_hash_speeds_per_size(size: i32) {
let repetitions = 10000000;
// < 128 bytes
let mut samples127: Vec<Vec<u8>> = Vec::new();
{ 1..11 }.for_each(|_| {
let mut temp: Vec<u8> = Vec::new();
{ 1..size }.into_iter().for_each(|_| {
temp.push(rand::random());
});
samples127.push(temp);
});
test_hash_speed(samples127, repetitions);
}
fn test_hash_speed(data: Vec<Vec<u8>>, total: usize) {
let seed = 12897;
let seed2 = 13297;
let mut xxh3_hasher: Xxh3 = Xxh3::with_seed(seed);
let mut sip_hasher = std::hash::SipHasher::new_with_keys(seed, seed2);
let data_len = data[0].len();
let mut new_data: Vec<&[u8]> = Vec::new();
data.iter().for_each(|x| {
new_data.push(x.as_slice());
});
let mut a: u64 = 0;
use std::time::SystemTime;
// siphasher
let mut now = SystemTime::now();
for _i in 1..total {
sip_hasher.write(new_data[_i % new_data.len()]);
a = a.wrapping_add(sip_hasher.finish());
}
let siphasher_then = now.elapsed().unwrap().as_millis();
// xxh3_64 oneshot
now = SystemTime::now();
for _i in 1..total {
a = a.wrapping_add(xxh3_64_with_seed(new_data[_i % new_data.len()], seed));
}
let xxh3_64_oneshot_then = now.elapsed().unwrap().as_millis();
// xxh3_64 streaming
now = SystemTime::now();
for _i in 1..total {
xxh3_hasher.write(new_data[_i % new_data.len()]);
a = a.wrapping_add(xxh3_hasher.finish());
}
let xxh3_64_streaming_then = now.elapsed().unwrap().as_millis();
// twox_hash oneshot
now = SystemTime::now();
for _i in 1..total {
a = a.wrapping_add(twox_hash::XxHash3_64::oneshot_with_seed(
seed,
new_data[_i % new_data.len()],
));
}
let twox_oneshot_then = now.elapsed().unwrap().as_millis();
println!("For {} datalen and {} iterations: \n sip_hasher {}ms \n xxhash3-rust oneshot {}ms \n xxhash3-rust streaming {}ms \n twoxhash oneshot {}ms ", data_len, total, siphasher_then, xxh3_64_oneshot_then, xxh3_64_streaming_then, twox_oneshot_then);
}
[1]
For 0 datalen and 10000000 iterations:
sip_hasher 48ms
xxhash3-rust oneshot 107ms
xxhash3-rust streaming 193ms
twoxhash oneshot 45ms
For 1 datalen and 10000000 iterations:
sip_hasher 49ms
xxhash3-rust oneshot 111ms
xxhash3-rust streaming 694ms
twoxhash oneshot 45ms
For 2 datalen and 10000000 iterations:
sip_hasher 57ms
xxhash3-rust oneshot 111ms
xxhash3-rust streaming 703ms
twoxhash oneshot 45ms
For 3 datalen and 10000000 iterations:
sip_hasher 60ms
xxhash3-rust oneshot 111ms
xxhash3-rust streaming 710ms
twoxhash oneshot 45ms
For 4 datalen and 10000000 iterations:
sip_hasher 67ms
xxhash3-rust oneshot 143ms
xxhash3-rust streaming 710ms
twoxhash oneshot 45ms
For 5 datalen and 10000000 iterations:
sip_hasher 69ms
xxhash3-rust oneshot 143ms
xxhash3-rust streaming 721ms
twoxhash oneshot 45ms
For 6 datalen and 10000000 iterations:
sip_hasher 80ms
xxhash3-rust oneshot 143ms
xxhash3-rust streaming 722ms
twoxhash oneshot 45ms
For 7 datalen and 10000000 iterations:
sip_hasher 83ms
xxhash3-rust oneshot 143ms
xxhash3-rust streaming 730ms
twoxhash oneshot 45ms
For 8 datalen and 10000000 iterations:
sip_hasher 67ms
xxhash3-rust oneshot 143ms
xxhash3-rust streaming 718ms
twoxhash oneshot 45ms
For 9 datalen and 10000000 iterations:
sip_hasher 90ms
xxhash3-rust oneshot 160ms
xxhash3-rust streaming 732ms
twoxhash oneshot 45ms
For 10 datalen and 10000000 iterations:
sip_hasher 95ms
xxhash3-rust oneshot 159ms
xxhash3-rust streaming 729ms
twoxhash oneshot 45ms
For 11 datalen and 10000000 iterations:
sip_hasher 98ms
xxhash3-rust oneshot 161ms
xxhash3-rust streaming 728ms
twoxhash oneshot 45ms
For 12 datalen and 10000000 iterations:
sip_hasher 96ms
xxhash3-rust oneshot 160ms
xxhash3-rust streaming 727ms
twoxhash oneshot 45ms
For 13 datalen and 10000000 iterations:
sip_hasher 103ms
xxhash3-rust oneshot 161ms
xxhash3-rust streaming 741ms
twoxhash oneshot 45ms
For 14 datalen and 10000000 iterations:
sip_hasher 105ms
xxhash3-rust oneshot 160ms
xxhash3-rust streaming 739ms
twoxhash oneshot 45ms
For 15 datalen and 10000000 iterations:
sip_hasher 107ms
xxhash3-rust oneshot 160ms
xxhash3-rust streaming 741ms
twoxhash oneshot 45ms
For 16 datalen and 10000000 iterations:
sip_hasher 83ms
xxhash3-rust oneshot 160ms
xxhash3-rust streaming 741ms
twoxhash oneshot 45ms
For 17 datalen and 10000000 iterations:
sip_hasher 112ms
xxhash3-rust oneshot 188ms
xxhash3-rust streaming 749ms
twoxhash oneshot 45ms
For 18 datalen and 10000000 iterations:
sip_hasher 111ms
xxhash3-rust oneshot 188ms
xxhash3-rust streaming 749ms
twoxhash oneshot 45ms
For 19 datalen and 10000000 iterations:
sip_hasher 114ms
xxhash3-rust oneshot 188ms
xxhash3-rust streaming 752ms
twoxhash oneshot 45ms
For 20 datalen and 10000000 iterations:
sip_hasher 104ms
xxhash3-rust oneshot 188ms
xxhash3-rust streaming 747ms
twoxhash oneshot 45ms
For 21 datalen and 10000000 iterations:
sip_hasher 122ms
xxhash3-rust oneshot 188ms
xxhash3-rust streaming 753ms
twoxhash oneshot 45ms
For 22 datalen and 10000000 iterations:
sip_hasher 119ms
xxhash3-rust oneshot 188ms
xxhash3-rust streaming 755ms
twoxhash oneshot 45ms
For 23 datalen and 10000000 iterations:
sip_hasher 124ms
xxhash3-rust oneshot 188ms
xxhash3-rust streaming 759ms
twoxhash oneshot 45ms
For 24 datalen and 10000000 iterations:
sip_hasher 100ms
xxhash3-rust oneshot 187ms
xxhash3-rust streaming 755ms
twoxhash oneshot 45ms
For 25 datalen and 10000000 iterations:
sip_hasher 136ms
xxhash3-rust oneshot 188ms
xxhash3-rust streaming 771ms
twoxhash oneshot 45ms
For 26 datalen and 10000000 iterations:
sip_hasher 133ms
xxhash3-rust oneshot 188ms
xxhash3-rust streaming 774ms
twoxhash oneshot 45ms
For 27 datalen and 10000000 iterations:
sip_hasher 139ms
xxhash3-rust oneshot 188ms
xxhash3-rust streaming 780ms
twoxhash oneshot 45ms
For 28 datalen and 10000000 iterations:
sip_hasher 119ms
xxhash3-rust oneshot 188ms
xxhash3-rust streaming 774ms
twoxhash oneshot 45ms
For 29 datalen and 10000000 iterations:
sip_hasher 142ms
xxhash3-rust oneshot 188ms
xxhash3-rust streaming 779ms
twoxhash oneshot 45ms
For 30 datalen and 10000000 iterations:
sip_hasher 148ms
xxhash3-rust oneshot 188ms
xxhash3-rust streaming 780ms
twoxhash oneshot 45ms
For 31 datalen and 10000000 iterations:
sip_hasher 154ms
xxhash3-rust oneshot 187ms
xxhash3-rust streaming 781ms
twoxhash oneshot 45ms
For 32 datalen and 10000000 iterations:
sip_hasher 113ms
xxhash3-rust oneshot 187ms
xxhash3-rust streaming 767ms
twoxhash oneshot 45ms
For 33 datalen and 10000000 iterations:
sip_hasher 151ms
xxhash3-rust oneshot 297ms
xxhash3-rust streaming 783ms
twoxhash oneshot 45ms
For 34 datalen and 10000000 iterations:
sip_hasher 157ms
xxhash3-rust oneshot 296ms
xxhash3-rust streaming 787ms
twoxhash oneshot 45ms
For 35 datalen and 10000000 iterations:
sip_hasher 160ms
xxhash3-rust oneshot 296ms
xxhash3-rust streaming 794ms
twoxhash oneshot 45ms
For 36 datalen and 10000000 iterations:
sip_hasher 142ms
xxhash3-rust oneshot 296ms
xxhash3-rust streaming 792ms
twoxhash oneshot 45ms
For 37 datalen and 10000000 iterations:
sip_hasher 162ms
xxhash3-rust oneshot 296ms
xxhash3-rust streaming 804ms
twoxhash oneshot 45ms
For 38 datalen and 10000000 iterations:
sip_hasher 164ms
xxhash3-rust oneshot 296ms
xxhash3-rust streaming 807ms
twoxhash oneshot 45ms
For 39 datalen and 10000000 iterations:
sip_hasher 166ms
xxhash3-rust oneshot 296ms
xxhash3-rust streaming 805ms
twoxhash oneshot 45ms
For 40 datalen and 10000000 iterations:
sip_hasher 135ms
xxhash3-rust oneshot 297ms
xxhash3-rust streaming 798ms
twoxhash oneshot 45ms
For 41 datalen and 10000000 iterations:
sip_hasher 168ms
xxhash3-rust oneshot 295ms
xxhash3-rust streaming 807ms
twoxhash oneshot 45ms
For 42 datalen and 10000000 iterations:
sip_hasher 169ms
xxhash3-rust oneshot 296ms
xxhash3-rust streaming 809ms
twoxhash oneshot 45ms
For 43 datalen and 10000000 iterations:
sip_hasher 170ms
xxhash3-rust oneshot 296ms
xxhash3-rust streaming 817ms
twoxhash oneshot 45ms
For 44 datalen and 10000000 iterations:
sip_hasher 164ms
xxhash3-rust oneshot 296ms
xxhash3-rust streaming 816ms
twoxhash oneshot 45ms
For 45 datalen and 10000000 iterations:
sip_hasher 173ms
xxhash3-rust oneshot 296ms
xxhash3-rust streaming 817ms
twoxhash oneshot 45ms
For 46 datalen and 10000000 iterations:
sip_hasher 173ms
xxhash3-rust oneshot 296ms
xxhash3-rust streaming 820ms
twoxhash oneshot 45ms
For 47 datalen and 10000000 iterations:
sip_hasher 174ms
xxhash3-rust oneshot 296ms
xxhash3-rust streaming 825ms
twoxhash oneshot 45ms
For 48 datalen and 10000000 iterations:
sip_hasher 161ms
xxhash3-rust oneshot 295ms
xxhash3-rust streaming 813ms
twoxhash oneshot 45ms
For 49 datalen and 10000000 iterations:
sip_hasher 177ms
xxhash3-rust oneshot 296ms
xxhash3-rust streaming 825ms
twoxhash oneshot 45ms
For 50 datalen and 10000000 iterations:
sip_hasher 178ms
xxhash3-rust oneshot 296ms
xxhash3-rust streaming 829ms
twoxhash oneshot 45ms
For 51 datalen and 10000000 iterations:
sip_hasher 179ms
xxhash3-rust oneshot 296ms
xxhash3-rust streaming 839ms
twoxhash oneshot 45ms
For 52 datalen and 10000000 iterations:
sip_hasher 174ms
xxhash3-rust oneshot 296ms
xxhash3-rust streaming 834ms
twoxhash oneshot 45ms
For 53 datalen and 10000000 iterations:
sip_hasher 182ms
xxhash3-rust oneshot 296ms
xxhash3-rust streaming 843ms
twoxhash oneshot 45ms
For 54 datalen and 10000000 iterations:
sip_hasher 181ms
xxhash3-rust oneshot 296ms
xxhash3-rust streaming 846ms
twoxhash oneshot 45ms
For 55 datalen and 10000000 iterations:
sip_hasher 186ms
xxhash3-rust oneshot 296ms
xxhash3-rust streaming 848ms
twoxhash oneshot 45ms
For 56 datalen and 10000000 iterations:
sip_hasher 171ms
xxhash3-rust oneshot 295ms
xxhash3-rust streaming 840ms
twoxhash oneshot 45ms
For 57 datalen and 10000000 iterations:
sip_hasher 189ms
xxhash3-rust oneshot 296ms
xxhash3-rust streaming 851ms
twoxhash oneshot 45ms
For 58 datalen and 10000000 iterations:
sip_hasher 188ms
xxhash3-rust oneshot 295ms
xxhash3-rust streaming 857ms
twoxhash oneshot 45ms
For 59 datalen and 10000000 iterations:
sip_hasher 191ms
xxhash3-rust oneshot 295ms
xxhash3-rust streaming 861ms
twoxhash oneshot 45ms
For 60 datalen and 10000000 iterations:
sip_hasher 183ms
xxhash3-rust oneshot 297ms
xxhash3-rust streaming 857ms
twoxhash oneshot 45ms
For 61 datalen and 10000000 iterations:
sip_hasher 193ms
xxhash3-rust oneshot 296ms
xxhash3-rust streaming 866ms
twoxhash oneshot 45ms
For 62 datalen and 10000000 iterations:
sip_hasher 196ms
xxhash3-rust oneshot 296ms
xxhash3-rust streaming 864ms
twoxhash oneshot 45ms
For 63 datalen and 10000000 iterations:
sip_hasher 197ms
xxhash3-rust oneshot 296ms
xxhash3-rust streaming 865ms
twoxhash oneshot 45ms
For 64 datalen and 10000000 iterations:
sip_hasher 180ms
xxhash3-rust oneshot 295ms
xxhash3-rust streaming 862ms
twoxhash oneshot 45ms
For 65 datalen and 10000000 iterations:
sip_hasher 200ms
xxhash3-rust oneshot 400ms
xxhash3-rust streaming 886ms
twoxhash oneshot 45ms
For 66 datalen and 10000000 iterations:
sip_hasher 204ms
xxhash3-rust oneshot 400ms
xxhash3-rust streaming 889ms
twoxhash oneshot 45ms
For 67 datalen and 10000000 iterations:
sip_hasher 205ms
xxhash3-rust oneshot 400ms
xxhash3-rust streaming 894ms
twoxhash oneshot 45ms
For 68 datalen and 10000000 iterations:
sip_hasher 198ms
xxhash3-rust oneshot 399ms
xxhash3-rust streaming 895ms
twoxhash oneshot 45ms
For 69 datalen and 10000000 iterations:
sip_hasher 208ms
xxhash3-rust oneshot 400ms
xxhash3-rust streaming 898ms
twoxhash oneshot 45ms
For 70 datalen and 10000000 iterations:
sip_hasher 209ms
xxhash3-rust oneshot 399ms
xxhash3-rust streaming 903ms
twoxhash oneshot 45ms
For 71 datalen and 10000000 iterations:
sip_hasher 213ms
xxhash3-rust oneshot 399ms
xxhash3-rust streaming 909ms
twoxhash oneshot 45ms
For 72 datalen and 10000000 iterations:
sip_hasher 196ms
xxhash3-rust oneshot 397ms
xxhash3-rust streaming 897ms
twoxhash oneshot 45ms
For 73 datalen and 10000000 iterations:
sip_hasher 215ms
xxhash3-rust oneshot 399ms
xxhash3-rust streaming 916ms
twoxhash oneshot 45ms
For 74 datalen and 10000000 iterations:
sip_hasher 218ms
xxhash3-rust oneshot 399ms
xxhash3-rust streaming 912ms
twoxhash oneshot 45ms
For 75 datalen and 10000000 iterations:
sip_hasher 220ms
xxhash3-rust oneshot 399ms
xxhash3-rust streaming 913ms
twoxhash oneshot 45ms
For 76 datalen and 10000000 iterations:
sip_hasher 213ms
xxhash3-rust oneshot 399ms
xxhash3-rust streaming 917ms
twoxhash oneshot 45ms
For 77 datalen and 10000000 iterations:
sip_hasher 225ms
xxhash3-rust oneshot 399ms
xxhash3-rust streaming 926ms
twoxhash oneshot 45ms
For 78 datalen and 10000000 iterations:
sip_hasher 226ms
xxhash3-rust oneshot 399ms
xxhash3-rust streaming 930ms
twoxhash oneshot 45ms
For 79 datalen and 10000000 iterations:
sip_hasher 230ms
xxhash3-rust oneshot 399ms
xxhash3-rust streaming 930ms
twoxhash oneshot 45ms
For 80 datalen and 10000000 iterations:
sip_hasher 210ms
xxhash3-rust oneshot 397ms
xxhash3-rust streaming 916ms
twoxhash oneshot 45ms
For 81 datalen and 10000000 iterations:
sip_hasher 233ms
xxhash3-rust oneshot 399ms
xxhash3-rust streaming 933ms
twoxhash oneshot 45ms
For 82 datalen and 10000000 iterations:
sip_hasher 234ms
xxhash3-rust oneshot 399ms
xxhash3-rust streaming 937ms
twoxhash oneshot 45ms
For 83 datalen and 10000000 iterations:
sip_hasher 238ms
xxhash3-rust oneshot 399ms
xxhash3-rust streaming 938ms
twoxhash oneshot 45ms
For 84 datalen and 10000000 iterations:
sip_hasher 229ms
xxhash3-rust oneshot 399ms
xxhash3-rust streaming 940ms
twoxhash oneshot 45ms
For 85 datalen and 10000000 iterations:
sip_hasher 241ms
xxhash3-rust oneshot 399ms
xxhash3-rust streaming 938ms
twoxhash oneshot 45ms
For 86 datalen and 10000000 iterations:
sip_hasher 242ms
xxhash3-rust oneshot 399ms
xxhash3-rust streaming 943ms
twoxhash oneshot 45ms
For 87 datalen and 10000000 iterations:
sip_hasher 246ms
xxhash3-rust oneshot 399ms
xxhash3-rust streaming 950ms
twoxhash oneshot 45ms
For 88 datalen and 10000000 iterations:
sip_hasher 226ms
xxhash3-rust oneshot 398ms
xxhash3-rust streaming 942ms
twoxhash oneshot 45ms
For 89 datalen and 10000000 iterations:
sip_hasher 248ms
xxhash3-rust oneshot 398ms
xxhash3-rust streaming 956ms
twoxhash oneshot 45ms
For 90 datalen and 10000000 iterations:
sip_hasher 250ms
xxhash3-rust oneshot 399ms
xxhash3-rust streaming 957ms
twoxhash oneshot 45ms
For 91 datalen and 10000000 iterations:
sip_hasher 253ms
xxhash3-rust oneshot 398ms
xxhash3-rust streaming 961ms
twoxhash oneshot 45ms
For 92 datalen and 10000000 iterations:
sip_hasher 246ms
xxhash3-rust oneshot 398ms
xxhash3-rust streaming 960ms
twoxhash oneshot 45ms
For 93 datalen and 10000000 iterations:
sip_hasher 260ms
xxhash3-rust oneshot 398ms
xxhash3-rust streaming 968ms
twoxhash oneshot 45ms
For 94 datalen and 10000000 iterations:
sip_hasher 259ms
xxhash3-rust oneshot 398ms
xxhash3-rust streaming 972ms
twoxhash oneshot 45ms
For 95 datalen and 10000000 iterations:
sip_hasher 261ms
xxhash3-rust oneshot 399ms
xxhash3-rust streaming 972ms
twoxhash oneshot 45ms
For 96 datalen and 10000000 iterations:
sip_hasher 243ms
xxhash3-rust oneshot 398ms
xxhash3-rust streaming 961ms
twoxhash oneshot 45ms
For 97 datalen and 10000000 iterations:
sip_hasher 266ms
xxhash3-rust oneshot 497ms
xxhash3-rust streaming 976ms
twoxhash oneshot 45ms
For 98 datalen and 10000000 iterations:
sip_hasher 268ms
xxhash3-rust oneshot 497ms
xxhash3-rust streaming 982ms
twoxhash oneshot 45ms
For 99 datalen and 10000000 iterations:
sip_hasher 271ms
xxhash3-rust oneshot 497ms
xxhash3-rust streaming 986ms
twoxhash oneshot 45ms
For 100 datalen and 10000000 iterations:
sip_hasher 263ms
xxhash3-rust oneshot 497ms
xxhash3-rust streaming 984ms
twoxhash oneshot 45ms
For 101 datalen and 10000000 iterations:
sip_hasher 275ms
xxhash3-rust oneshot 497ms
xxhash3-rust streaming 989ms
twoxhash oneshot 45ms
For 102 datalen and 10000000 iterations:
sip_hasher 274ms
xxhash3-rust oneshot 497ms
xxhash3-rust streaming 996ms
twoxhash oneshot 45ms
For 103 datalen and 10000000 iterations:
sip_hasher 279ms
xxhash3-rust oneshot 497ms
xxhash3-rust streaming 998ms
twoxhash oneshot 45ms
For 104 datalen and 10000000 iterations:
sip_hasher 260ms
xxhash3-rust oneshot 496ms
xxhash3-rust streaming 993ms
twoxhash oneshot 45ms
For 105 datalen and 10000000 iterations:
sip_hasher 283ms
xxhash3-rust oneshot 497ms
xxhash3-rust streaming 1001ms
twoxhash oneshot 45ms
For 106 datalen and 10000000 iterations:
sip_hasher 284ms
xxhash3-rust oneshot 497ms
xxhash3-rust streaming 1002ms
twoxhash oneshot 45ms
For 107 datalen and 10000000 iterations:
sip_hasher 288ms
xxhash3-rust oneshot 496ms
xxhash3-rust streaming 1007ms
twoxhash oneshot 45ms
For 108 datalen and 10000000 iterations:
sip_hasher 278ms
xxhash3-rust oneshot 496ms
xxhash3-rust streaming 1013ms
twoxhash oneshot 45ms
For 109 datalen and 10000000 iterations:
sip_hasher 292ms
xxhash3-rust oneshot 497ms
xxhash3-rust streaming 1019ms
twoxhash oneshot 45ms
For 110 datalen and 10000000 iterations:
sip_hasher 292ms
xxhash3-rust oneshot 497ms
xxhash3-rust streaming 1017ms
twoxhash oneshot 45ms
For 111 datalen and 10000000 iterations:
sip_hasher 295ms
xxhash3-rust oneshot 497ms
xxhash3-rust streaming 1021ms
twoxhash oneshot 45ms
For 112 datalen and 10000000 iterations:
sip_hasher 276ms
xxhash3-rust oneshot 496ms
xxhash3-rust streaming 1010ms
twoxhash oneshot 45ms
For 113 datalen and 10000000 iterations:
sip_hasher 301ms
xxhash3-rust oneshot 497ms
xxhash3-rust streaming 1027ms
twoxhash oneshot 45ms
For 114 datalen and 10000000 iterations:
sip_hasher 298ms
xxhash3-rust oneshot 498ms
xxhash3-rust streaming 1029ms
twoxhash oneshot 45ms
For 115 datalen and 10000000 iterations:
sip_hasher 305ms
xxhash3-rust oneshot 497ms
xxhash3-rust streaming 1038ms
twoxhash oneshot 45ms
For 116 datalen and 10000000 iterations:
sip_hasher 294ms
xxhash3-rust oneshot 497ms
xxhash3-rust streaming 1034ms
twoxhash oneshot 45ms
For 117 datalen and 10000000 iterations:
sip_hasher 307ms
xxhash3-rust oneshot 497ms
xxhash3-rust streaming 1036ms
twoxhash oneshot 45ms
For 118 datalen and 10000000 iterations:
sip_hasher 307ms
xxhash3-rust oneshot 497ms
xxhash3-rust streaming 1041ms
twoxhash oneshot 45ms
For 119 datalen and 10000000 iterations:
sip_hasher 311ms
xxhash3-rust oneshot 497ms
xxhash3-rust streaming 1043ms
twoxhash oneshot 45ms
For 120 datalen and 10000000 iterations:
sip_hasher 292ms
xxhash3-rust oneshot 496ms
xxhash3-rust streaming 1045ms
twoxhash oneshot 45ms
For 121 datalen and 10000000 iterations:
sip_hasher 315ms
xxhash3-rust oneshot 497ms
xxhash3-rust streaming 1051ms
twoxhash oneshot 45ms
For 122 datalen and 10000000 iterations:
sip_hasher 316ms
xxhash3-rust oneshot 497ms
xxhash3-rust streaming 1052ms
twoxhash oneshot 45ms
For 123 datalen and 10000000 iterations:
sip_hasher 319ms
xxhash3-rust oneshot 497ms
xxhash3-rust streaming 1055ms
twoxhash oneshot 45ms
For 124 datalen and 10000000 iterations:
sip_hasher 311ms
xxhash3-rust oneshot 497ms
xxhash3-rust streaming 1055ms
twoxhash oneshot 45ms
For 125 datalen and 10000000 iterations:
sip_hasher 324ms
xxhash3-rust oneshot 497ms
xxhash3-rust streaming 1057ms
twoxhash oneshot 45ms
For 126 datalen and 10000000 iterations:
sip_hasher 325ms
xxhash3-rust oneshot 497ms
xxhash3-rust streaming 1058ms
twoxhash oneshot 45ms
For 127 datalen and 10000000 iterations:
sip_hasher 328ms
xxhash3-rust oneshot 497ms
xxhash3-rust streaming 1061ms
twoxhash oneshot 45ms
For 128 datalen and 10000000 iterations:
sip_hasher 307ms
xxhash3-rust oneshot 496ms
xxhash3-rust streaming 1143ms
twoxhash oneshot 45ms
For 129 datalen and 10000000 iterations:
sip_hasher 331ms
xxhash3-rust oneshot 544ms
xxhash3-rust streaming 1065ms
twoxhash oneshot 45ms
For 130 datalen and 10000000 iterations:
sip_hasher 333ms
xxhash3-rust oneshot 544ms
xxhash3-rust streaming 1070ms
twoxhash oneshot 45ms
For 131 datalen and 10000000 iterations:
sip_hasher 338ms
xxhash3-rust oneshot 544ms
xxhash3-rust streaming 1076ms
twoxhash oneshot 45ms
For 132 datalen and 10000000 iterations:
sip_hasher 326ms
xxhash3-rust oneshot 544ms
xxhash3-rust streaming 1077ms
twoxhash oneshot 45ms
For 133 datalen and 10000000 iterations:
sip_hasher 339ms
xxhash3-rust oneshot 544ms
xxhash3-rust streaming 1084ms
twoxhash oneshot 45ms
For 134 datalen and 10000000 iterations:
sip_hasher 341ms
xxhash3-rust oneshot 544ms
xxhash3-rust streaming 1086ms
twoxhash oneshot 45ms
For 135 datalen and 10000000 iterations:
sip_hasher 344ms
xxhash3-rust oneshot 544ms
xxhash3-rust streaming 1088ms
twoxhash oneshot 45ms
For 136 datalen and 10000000 iterations:
sip_hasher 324ms
xxhash3-rust oneshot 543ms
xxhash3-rust streaming 1086ms
twoxhash oneshot 45ms
For 137 datalen and 10000000 iterations:
sip_hasher 348ms
xxhash3-rust oneshot 543ms
xxhash3-rust streaming 1097ms
twoxhash oneshot 45ms
For 138 datalen and 10000000 iterations:
sip_hasher 350ms
xxhash3-rust oneshot 543ms
xxhash3-rust streaming 1101ms
twoxhash oneshot 45ms
For 139 datalen and 10000000 iterations:
sip_hasher 354ms
xxhash3-rust oneshot 543ms
xxhash3-rust streaming 1104ms
twoxhash oneshot 45ms
For 140 datalen and 10000000 iterations:
sip_hasher 343ms
xxhash3-rust oneshot 543ms
xxhash3-rust streaming 1105ms
twoxhash oneshot 45ms
For 141 datalen and 10000000 iterations:
sip_hasher 355ms
xxhash3-rust oneshot 543ms
xxhash3-rust streaming 1112ms
twoxhash oneshot 45ms
For 142 datalen and 10000000 iterations:
sip_hasher 355ms
xxhash3-rust oneshot 543ms
xxhash3-rust streaming 1111ms
twoxhash oneshot 45ms
For 143 datalen and 10000000 iterations:
sip_hasher 361ms
xxhash3-rust oneshot 543ms
xxhash3-rust streaming 1118ms
twoxhash oneshot 45ms
For 144 datalen and 10000000 iterations:
sip_hasher 339ms
xxhash3-rust oneshot 599ms
xxhash3-rust streaming 1099ms
twoxhash oneshot 45ms
For 145 datalen and 10000000 iterations:
sip_hasher 369ms
xxhash3-rust oneshot 599ms
xxhash3-rust streaming 1119ms
twoxhash oneshot 45ms
For 146 datalen and 10000000 iterations:
sip_hasher 365ms
xxhash3-rust oneshot 599ms
xxhash3-rust streaming 1121ms
twoxhash oneshot 45ms
For 147 datalen and 10000000 iterations:
sip_hasher 368ms
xxhash3-rust oneshot 599ms
xxhash3-rust streaming 1127ms
twoxhash oneshot 45ms
For 148 datalen and 10000000 iterations:
sip_hasher 359ms
xxhash3-rust oneshot 599ms
xxhash3-rust streaming 1129ms
twoxhash oneshot 45ms
For 149 datalen and 10000000 iterations:
sip_hasher 372ms
xxhash3-rust oneshot 599ms
xxhash3-rust streaming 1129ms
twoxhash oneshot 45ms
For 150 datalen and 10000000 iterations:
sip_hasher 378ms
xxhash3-rust oneshot 599ms
xxhash3-rust streaming 1132ms
twoxhash oneshot 45ms
For 151 datalen and 10000000 iterations:
sip_hasher 376ms
xxhash3-rust oneshot 599ms
xxhash3-rust streaming 1146ms
twoxhash oneshot 45ms
For 152 datalen and 10000000 iterations:
sip_hasher 355ms
xxhash3-rust oneshot 599ms
xxhash3-rust streaming 1130ms
twoxhash oneshot 45ms
For 153 datalen and 10000000 iterations:
sip_hasher 378ms
xxhash3-rust oneshot 599ms
xxhash3-rust streaming 1144ms
twoxhash oneshot 45ms
For 154 datalen and 10000000 iterations:
sip_hasher 380ms
xxhash3-rust oneshot 599ms
xxhash3-rust streaming 1145ms
twoxhash oneshot 45ms
For 155 datalen and 10000000 iterations:
sip_hasher 392ms
xxhash3-rust oneshot 599ms
xxhash3-rust streaming 1147ms
twoxhash oneshot 45ms
For 156 datalen and 10000000 iterations:
sip_hasher 376ms
xxhash3-rust oneshot 599ms
xxhash3-rust streaming 1146ms
twoxhash oneshot 45ms
For 157 datalen and 10000000 iterations:
sip_hasher 389ms
xxhash3-rust oneshot 599ms
xxhash3-rust streaming 1155ms
twoxhash oneshot 45ms
For 158 datalen and 10000000 iterations:
sip_hasher 390ms
xxhash3-rust oneshot 599ms
xxhash3-rust streaming 1155ms
twoxhash oneshot 45ms
For 159 datalen and 10000000 iterations:
sip_hasher 393ms
xxhash3-rust oneshot 599ms
xxhash3-rust streaming 1156ms
twoxhash oneshot 45ms
For 160 datalen and 10000000 iterations:
sip_hasher 372ms
xxhash3-rust oneshot 649ms
xxhash3-rust streaming 1139ms
twoxhash oneshot 45ms
For 161 datalen and 10000000 iterations:
sip_hasher 395ms
xxhash3-rust oneshot 650ms
xxhash3-rust streaming 1162ms
twoxhash oneshot 45ms
For 162 datalen and 10000000 iterations:
sip_hasher 397ms
xxhash3-rust oneshot 650ms
xxhash3-rust streaming 1164ms
twoxhash oneshot 45ms
For 163 datalen and 10000000 iterations:
sip_hasher 400ms
xxhash3-rust oneshot 650ms
xxhash3-rust streaming 1172ms
twoxhash oneshot 45ms
For 164 datalen and 10000000 iterations:
sip_hasher 392ms
xxhash3-rust oneshot 650ms
xxhash3-rust streaming 1169ms
twoxhash oneshot 45ms
For 165 datalen and 10000000 iterations:
sip_hasher 404ms
xxhash3-rust oneshot 650ms
xxhash3-rust streaming 1174ms
twoxhash oneshot 45ms
For 166 datalen and 10000000 iterations:
sip_hasher 406ms
xxhash3-rust oneshot 650ms
xxhash3-rust streaming 1178ms
twoxhash oneshot 45ms
For 167 datalen and 10000000 iterations:
sip_hasher 410ms
xxhash3-rust oneshot 650ms
xxhash3-rust streaming 1180ms
twoxhash oneshot 45ms
For 168 datalen and 10000000 iterations:
sip_hasher 388ms
xxhash3-rust oneshot 649ms
xxhash3-rust streaming 1175ms
twoxhash oneshot 45ms
For 169 datalen and 10000000 iterations:
sip_hasher 413ms
xxhash3-rust oneshot 650ms
xxhash3-rust streaming 1186ms
twoxhash oneshot 45ms
For 170 datalen and 10000000 iterations:
sip_hasher 412ms
xxhash3-rust oneshot 650ms
xxhash3-rust streaming 1187ms
twoxhash oneshot 45ms
For 171 datalen and 10000000 iterations:
sip_hasher 417ms
xxhash3-rust oneshot 650ms
xxhash3-rust streaming 1189ms
twoxhash oneshot 45ms
For 172 datalen and 10000000 iterations:
sip_hasher 408ms
xxhash3-rust oneshot 650ms
xxhash3-rust streaming 1197ms
twoxhash oneshot 45ms
For 173 datalen and 10000000 iterations:
sip_hasher 419ms
xxhash3-rust oneshot 650ms
xxhash3-rust streaming 1199ms
twoxhash oneshot 45ms
For 174 datalen and 10000000 iterations:
sip_hasher 423ms
xxhash3-rust oneshot 650ms
xxhash3-rust streaming 1200ms
twoxhash oneshot 45ms
For 175 datalen and 10000000 iterations:
sip_hasher 427ms
xxhash3-rust oneshot 650ms
xxhash3-rust streaming 1202ms
twoxhash oneshot 45ms
For 176 datalen and 10000000 iterations:
sip_hasher 405ms
xxhash3-rust oneshot 700ms
xxhash3-rust streaming 1185ms
twoxhash oneshot 45ms
For 177 datalen and 10000000 iterations:
sip_hasher 427ms
xxhash3-rust oneshot 700ms
xxhash3-rust streaming 1207ms
twoxhash oneshot 45ms
For 178 datalen and 10000000 iterations:
sip_hasher 429ms
xxhash3-rust oneshot 700ms
xxhash3-rust streaming 1215ms
twoxhash oneshot 45ms
For 179 datalen and 10000000 iterations:
sip_hasher 431ms
xxhash3-rust oneshot 700ms
xxhash3-rust streaming 1222ms
twoxhash oneshot 45ms
For 180 datalen and 10000000 iterations:
sip_hasher 424ms
xxhash3-rust oneshot 700ms
xxhash3-rust streaming 1221ms
twoxhash oneshot 45ms
For 181 datalen and 10000000 iterations:
sip_hasher 435ms
xxhash3-rust oneshot 700ms
xxhash3-rust streaming 1227ms
twoxhash oneshot 45ms
For 182 datalen and 10000000 iterations:
sip_hasher 437ms
xxhash3-rust oneshot 700ms
xxhash3-rust streaming 1229ms
twoxhash oneshot 45ms
For 183 datalen and 10000000 iterations:
sip_hasher 456ms
xxhash3-rust oneshot 703ms
xxhash3-rust streaming 1232ms
twoxhash oneshot 45ms
For 184 datalen and 10000000 iterations:
sip_hasher 421ms
xxhash3-rust oneshot 700ms
xxhash3-rust streaming 1234ms
twoxhash oneshot 45ms
For 185 datalen and 10000000 iterations:
sip_hasher 444ms
xxhash3-rust oneshot 701ms
xxhash3-rust streaming 1241ms
twoxhash oneshot 45ms
For 186 datalen and 10000000 iterations:
sip_hasher 445ms
xxhash3-rust oneshot 701ms
xxhash3-rust streaming 1243ms
twoxhash oneshot 45ms
For 187 datalen and 10000000 iterations:
sip_hasher 449ms
xxhash3-rust oneshot 701ms
xxhash3-rust streaming 1247ms
twoxhash oneshot 45ms
For 188 datalen and 10000000 iterations:
sip_hasher 441ms
xxhash3-rust oneshot 701ms
xxhash3-rust streaming 1244ms
twoxhash oneshot 45ms
For 189 datalen and 10000000 iterations:
sip_hasher 454ms
xxhash3-rust oneshot 701ms
xxhash3-rust streaming 1252ms
twoxhash oneshot 45ms
For 190 datalen and 10000000 iterations:
sip_hasher 455ms
xxhash3-rust oneshot 701ms
xxhash3-rust streaming 1254ms
twoxhash oneshot 45ms
For 191 datalen and 10000000 iterations:
sip_hasher 461ms
xxhash3-rust oneshot 701ms
xxhash3-rust streaming 1259ms
twoxhash oneshot 45ms
For 192 datalen and 10000000 iterations:
sip_hasher 439ms
xxhash3-rust oneshot 753ms
xxhash3-rust streaming 1231ms
twoxhash oneshot 45ms
For 193 datalen and 10000000 iterations:
sip_hasher 462ms
xxhash3-rust oneshot 754ms
xxhash3-rust streaming 1261ms
twoxhash oneshot 45ms
For 194 datalen and 10000000 iterations:
sip_hasher 464ms
xxhash3-rust oneshot 753ms
xxhash3-rust streaming 1262ms
twoxhash oneshot 45ms
For 195 datalen and 10000000 iterations:
sip_hasher 468ms
xxhash3-rust oneshot 754ms
xxhash3-rust streaming 1261ms
twoxhash oneshot 45ms
For 196 datalen and 10000000 iterations:
sip_hasher 457ms
xxhash3-rust oneshot 753ms
xxhash3-rust streaming 1264ms
twoxhash oneshot 45ms
For 197 datalen and 10000000 iterations:
sip_hasher 471ms
xxhash3-rust oneshot 752ms
xxhash3-rust streaming 1271ms
twoxhash oneshot 45ms
For 198 datalen and 10000000 iterations:
sip_hasher 469ms
xxhash3-rust oneshot 752ms
xxhash3-rust streaming 1271ms
twoxhash oneshot 45ms
For 199 datalen and 10000000 iterations:
sip_hasher 472ms
xxhash3-rust oneshot 752ms
xxhash3-rust streaming 1274ms
twoxhash oneshot 45ms
For 200 datalen and 10000000 iterations:
sip_hasher 452ms
xxhash3-rust oneshot 751ms
xxhash3-rust streaming 1270ms
twoxhash oneshot 45ms
For 201 datalen and 10000000 iterations:
sip_hasher 480ms
xxhash3-rust oneshot 752ms
xxhash3-rust streaming 1283ms
twoxhash oneshot 45ms
For 202 datalen and 10000000 iterations:
sip_hasher 477ms
xxhash3-rust oneshot 752ms
xxhash3-rust streaming 1286ms
twoxhash oneshot 45ms
For 203 datalen and 10000000 iterations:
sip_hasher 481ms
xxhash3-rust oneshot 752ms
xxhash3-rust streaming 1291ms
twoxhash oneshot 45ms
For 204 datalen and 10000000 iterations:
sip_hasher 472ms
xxhash3-rust oneshot 752ms
xxhash3-rust streaming 1287ms
twoxhash oneshot 45ms
For 205 datalen and 10000000 iterations:
sip_hasher 484ms
xxhash3-rust oneshot 752ms
xxhash3-rust streaming 1288ms
twoxhash oneshot 45ms
For 206 datalen and 10000000 iterations:
sip_hasher 487ms
xxhash3-rust oneshot 752ms
xxhash3-rust streaming 1291ms
twoxhash oneshot 45ms
For 207 datalen and 10000000 iterations:
sip_hasher 491ms
xxhash3-rust oneshot 752ms
xxhash3-rust streaming 1295ms
twoxhash oneshot 45ms
For 208 datalen and 10000000 iterations:
sip_hasher 469ms
xxhash3-rust oneshot 806ms
xxhash3-rust streaming 1285ms
twoxhash oneshot 45ms
For 209 datalen and 10000000 iterations:
sip_hasher 495ms
xxhash3-rust oneshot 807ms
xxhash3-rust streaming 1302ms
twoxhash oneshot 45ms
For 210 datalen and 10000000 iterations:
sip_hasher 495ms
xxhash3-rust oneshot 807ms
xxhash3-rust streaming 1309ms
twoxhash oneshot 45ms
For 211 datalen and 10000000 iterations:
sip_hasher 500ms
xxhash3-rust oneshot 807ms
xxhash3-rust streaming 1316ms
twoxhash oneshot 45ms
For 212 datalen and 10000000 iterations:
sip_hasher 488ms
xxhash3-rust oneshot 807ms
xxhash3-rust streaming 1313ms
twoxhash oneshot 45ms
For 213 datalen and 10000000 iterations:
sip_hasher 502ms
xxhash3-rust oneshot 807ms
xxhash3-rust streaming 1319ms
twoxhash oneshot 45ms
For 214 datalen and 10000000 iterations:
sip_hasher 500ms
xxhash3-rust oneshot 807ms
xxhash3-rust streaming 1321ms
twoxhash oneshot 45ms
For 215 datalen and 10000000 iterations:
sip_hasher 508ms
xxhash3-rust oneshot 807ms
xxhash3-rust streaming 1324ms
twoxhash oneshot 45ms
For 216 datalen and 10000000 iterations:
sip_hasher 485ms
xxhash3-rust oneshot 806ms
xxhash3-rust streaming 1325ms
twoxhash oneshot 45ms
For 217 datalen and 10000000 iterations:
sip_hasher 510ms
xxhash3-rust oneshot 806ms
xxhash3-rust streaming 1328ms
twoxhash oneshot 45ms
For 218 datalen and 10000000 iterations:
sip_hasher 525ms
xxhash3-rust oneshot 806ms
xxhash3-rust streaming 1330ms
twoxhash oneshot 45ms
For 219 datalen and 10000000 iterations:
sip_hasher 512ms
xxhash3-rust oneshot 806ms
xxhash3-rust streaming 1334ms
twoxhash oneshot 45ms
For 220 datalen and 10000000 iterations:
sip_hasher 505ms
xxhash3-rust oneshot 807ms
xxhash3-rust streaming 1325ms
twoxhash oneshot 45ms
For 221 datalen and 10000000 iterations:
sip_hasher 517ms
xxhash3-rust oneshot 806ms
xxhash3-rust streaming 1333ms
twoxhash oneshot 45ms
For 222 datalen and 10000000 iterations:
sip_hasher 516ms
xxhash3-rust oneshot 806ms
xxhash3-rust streaming 1330ms
twoxhash oneshot 45ms
For 223 datalen and 10000000 iterations:
sip_hasher 522ms
xxhash3-rust oneshot 806ms
xxhash3-rust streaming 1334ms
twoxhash oneshot 45ms
For 224 datalen and 10000000 iterations:
sip_hasher 503ms
xxhash3-rust oneshot 856ms
xxhash3-rust streaming 1319ms
twoxhash oneshot 45ms
For 225 datalen and 10000000 iterations:
sip_hasher 524ms
xxhash3-rust oneshot 857ms
xxhash3-rust streaming 1341ms
twoxhash oneshot 45ms
For 226 datalen and 10000000 iterations:
sip_hasher 526ms
xxhash3-rust oneshot 857ms
xxhash3-rust streaming 1343ms
twoxhash oneshot 45ms
For 227 datalen and 10000000 iterations:
sip_hasher 529ms
xxhash3-rust oneshot 857ms
xxhash3-rust streaming 1352ms
twoxhash oneshot 45ms
For 228 datalen and 10000000 iterations:
sip_hasher 521ms
xxhash3-rust oneshot 857ms
xxhash3-rust streaming 1349ms
twoxhash oneshot 45ms
For 229 datalen and 10000000 iterations:
sip_hasher 536ms
xxhash3-rust oneshot 857ms
xxhash3-rust streaming 1362ms
twoxhash oneshot 45ms
For 230 datalen and 10000000 iterations:
sip_hasher 534ms
xxhash3-rust oneshot 857ms
xxhash3-rust streaming 1366ms
twoxhash oneshot 45ms
For 231 datalen and 10000000 iterations:
sip_hasher 539ms
xxhash3-rust oneshot 857ms
xxhash3-rust streaming 1366ms
twoxhash oneshot 45ms
For 232 datalen and 10000000 iterations:
sip_hasher 517ms
xxhash3-rust oneshot 856ms
xxhash3-rust streaming 1367ms
twoxhash oneshot 45ms
For 233 datalen and 10000000 iterations:
sip_hasher 542ms
xxhash3-rust oneshot 857ms
xxhash3-rust streaming 1374ms
twoxhash oneshot 45ms
For 234 datalen and 10000000 iterations:
sip_hasher 541ms
xxhash3-rust oneshot 857ms
xxhash3-rust streaming 1384ms
twoxhash oneshot 45ms
For 235 datalen and 10000000 iterations:
sip_hasher 551ms
xxhash3-rust oneshot 857ms
xxhash3-rust streaming 1384ms
twoxhash oneshot 45ms
For 236 datalen and 10000000 iterations:
sip_hasher 537ms
xxhash3-rust oneshot 857ms
xxhash3-rust streaming 1386ms
twoxhash oneshot 45ms
For 237 datalen and 10000000 iterations:
sip_hasher 550ms
xxhash3-rust oneshot 857ms
xxhash3-rust streaming 1387ms
twoxhash oneshot 45ms
For 238 datalen and 10000000 iterations:
sip_hasher 550ms
xxhash3-rust oneshot 857ms
xxhash3-rust streaming 1389ms
twoxhash oneshot 45ms
For 239 datalen and 10000000 iterations:
sip_hasher 556ms
xxhash3-rust oneshot 857ms
xxhash3-rust streaming 1389ms
twoxhash oneshot 45ms
For 240 datalen and 10000000 iterations:
sip_hasher 534ms
xxhash3-rust oneshot 907ms
xxhash3-rust streaming 1378ms
twoxhash oneshot 45ms
For 241 datalen and 10000000 iterations:
sip_hasher 557ms
xxhash3-rust oneshot 1464ms
xxhash3-rust streaming 1380ms
twoxhash oneshot 572ms
For 242 datalen and 10000000 iterations:
sip_hasher 561ms
xxhash3-rust oneshot 1463ms
xxhash3-rust streaming 1394ms
twoxhash oneshot 572ms
For 243 datalen and 10000000 iterations:
sip_hasher 561ms
xxhash3-rust oneshot 1463ms
xxhash3-rust streaming 1400ms
twoxhash oneshot 572ms
For 244 datalen and 10000000 iterations:
sip_hasher 553ms
xxhash3-rust oneshot 1463ms
xxhash3-rust streaming 1400ms
twoxhash oneshot 572ms
For 245 datalen and 10000000 iterations:
sip_hasher 564ms
xxhash3-rust oneshot 1463ms
xxhash3-rust streaming 1408ms
twoxhash oneshot 572ms
For 246 datalen and 10000000 iterations:
sip_hasher 565ms
xxhash3-rust oneshot 1463ms
xxhash3-rust streaming 1406ms
twoxhash oneshot 573ms
For 247 datalen and 10000000 iterations:
sip_hasher 570ms
xxhash3-rust oneshot 1464ms
xxhash3-rust streaming 1406ms
twoxhash oneshot 572ms
For 248 datalen and 10000000 iterations:
sip_hasher 550ms
xxhash3-rust oneshot 1463ms
xxhash3-rust streaming 1398ms
twoxhash oneshot 572ms
For 249 datalen and 10000000 iterations:
sip_hasher 575ms
xxhash3-rust oneshot 1463ms
xxhash3-rust streaming 1409ms
twoxhash oneshot 572ms
For 250 datalen and 10000000 iterations:
sip_hasher 576ms
xxhash3-rust oneshot 1463ms
xxhash3-rust streaming 1411ms
twoxhash oneshot 572ms
For 251 datalen and 10000000 iterations:
sip_hasher 577ms
xxhash3-rust oneshot 1464ms
xxhash3-rust streaming 1416ms
twoxhash oneshot 572ms
For 252 datalen and 10000000 iterations:
sip_hasher 569ms
xxhash3-rust oneshot 1463ms
xxhash3-rust streaming 1409ms
twoxhash oneshot 572ms
For 253 datalen and 10000000 iterations:
sip_hasher 581ms
xxhash3-rust oneshot 1463ms
xxhash3-rust streaming 1418ms
twoxhash oneshot 572ms
For 254 datalen and 10000000 iterations:
sip_hasher 584ms
xxhash3-rust oneshot 1463ms
xxhash3-rust streaming 1418ms
twoxhash oneshot 572ms
I ran following test as shown in [0]. The results are in [1]. You can see that the xxhash algorithm takes constant 45ms time until 240 byte input, and then for 241 byte input, it jumps to 572ms. This looks odd, may be I am doing something wrong?
[0]
Cargo.toml
rustc features
Code
[1]