You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

29 lines
783 B

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