arnaucube
arnaucube/poseidon-arkPublic Self-hosted repository
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);