poseidon-ark/benches/bench_poseidon_hash.rs
benches/bench_poseidon_hash.rsRaw
1use criterion::{criterion_group, criterion_main, Criterion};
2
3use ark_bn254::Fr;
4use poseidon_rs::Poseidon;
5
6use ark_std::str::FromStr;
7
8fn criterion_benchmark(c: &mut Criterion) {
9 let b1: Fr = Fr::from_str(
10 "12242166908188651009877250812424843524687801523336557272219921456462821518061",
11 )
12 .unwrap();
13 let b2: Fr = Fr::from_str(
14 "12242166908188651009877250812424843524687801523336557272219921456462821518061",
15 )
16 .unwrap();
17 let mut big_arr: Vec<Fr> = Vec::new();
18 big_arr.push(b1.clone());
19 big_arr.push(b2.clone());
20 let poseidon = Poseidon::new();
21
22 c.bench_function("hash", |b| {
23 b.iter(|| poseidon.hash(big_arr.clone()).unwrap())
24 });
25}
26
27criterion_group!(benches, criterion_benchmark);
28criterion_main!(benches);