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