in crypto/benches/hash.rs [43:61]
fn sha3(c: &mut Criterion) {
let v: [Sha3Digest; 2] = [Sha3::hash(&[1u8]), Sha3::hash(&[2u8])];
c.bench_function("hash_sha3 (cached)", |bench| {
bench.iter(|| Sha3::merge(black_box(&v)))
});
c.bench_function("hash_sha3 (random)", |b| {
b.iter_batched(
|| {
[
Sha3::hash(&rand_value::<u64>().to_le_bytes()),
Sha3::hash(&rand_value::<u64>().to_le_bytes()),
]
},
|state| Sha3::merge(&state),
BatchSize::SmallInput,
)
});
}