|
@ -1,11 +1,12 @@ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
use criterion::{black_box, criterion_group, criterion_main, BatchSize, Criterion};
|
|
|
use criterion::{black_box, criterion_group, criterion_main, BatchSize, Criterion};
|
|
|
use miden_crypto::{hash::{Hasher, Digest}, HashFn, Felt, ElementHasher};
|
|
|
|
|
|
|
|
|
use miden_crypto::{
|
|
|
|
|
|
hash::{Digest, Hasher},
|
|
|
|
|
|
ElementHasher, Felt, HashFn,
|
|
|
|
|
|
};
|
|
|
use rand_utils::rand_value;
|
|
|
use rand_utils::rand_value;
|
|
|
|
|
|
|
|
|
fn rpo256_2to1(c: &mut Criterion) {
|
|
|
fn rpo256_2to1(c: &mut Criterion) {
|
|
|
let v: [Digest; 2] = [Hasher::hash(&[1u8]), Hasher::hash(&[2u8])];
|
|
|
|
|
|
|
|
|
let v: [Digest; 2] = [Hasher::hash(&[1_u8]), Hasher::hash(&[2_u8])];
|
|
|
c.bench_function("RPO256 2-to-1 hashing (cached)", |bench| {
|
|
|
c.bench_function("RPO256 2-to-1 hashing (cached)", |bench| {
|
|
|
bench.iter(|| Hasher::merge(black_box(&v)))
|
|
|
bench.iter(|| Hasher::merge(black_box(&v)))
|
|
|
});
|
|
|
});
|
|
@ -53,4 +54,4 @@ fn rpo256_sequential(c: &mut Criterion) { |
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
criterion_group!(hash_group, rpo256_sequential, rpo256_2to1);
|
|
|
criterion_group!(hash_group, rpo256_sequential, rpo256_2to1);
|
|
|
criterion_main!(hash_group);
|
|
|
|
|
|
|
|
|
criterion_main!(hash_group);
|