From 539a1beb721e03b497f5251c6224cafc49440702 Mon Sep 17 00:00:00 2001 From: arnaucube Date: Mon, 28 Sep 2020 21:44:44 +0200 Subject: [PATCH] Add benchmark On a Intel(R) Core(TM) i7-8705G CPU @ 3.10GHz, with 32 GB of RAM: hash time: [927.61 us 927.78 us 927.98 us] --- Cargo.toml | 12 +++++++++++- benches/bench_mimc_hash.rs | 27 +++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 benches/bench_mimc_hash.rs diff --git a/Cargo.toml b/Cargo.toml index 61e3802..4d2352b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "mimc-rs" -version = "0.0.2" +version = "0.0.3" authors = ["arnaucube "] edition = "2018" license = "GPL-3.0" @@ -9,8 +9,18 @@ repository = "https://github.com/arnaucube/mimc-rs" readme = "README.md" [dependencies] +ff = {package="ff_ce" , version="0.11", features = ["derive"]} +rand = "0.4" + num = "0.2.0" num-bigint = "0.2.2" num-traits = "0.2.8" tiny-keccak = "1.5" rustc-hex = "1.0.0" + +[dev-dependencies] +criterion = "0.3" + +[[bench]] +name = "bench_mimc_hash" +harness = false diff --git a/benches/bench_mimc_hash.rs b/benches/bench_mimc_hash.rs new file mode 100644 index 0000000..9c00f37 --- /dev/null +++ b/benches/bench_mimc_hash.rs @@ -0,0 +1,27 @@ +use criterion::{criterion_group, criterion_main, Criterion}; + +use num_bigint::BigInt; + +use mimc_rs::Mimc7; + +fn criterion_benchmark(c: &mut Criterion) { + let b1: BigInt = BigInt::parse_bytes( + b"12242166908188651009877250812424843524687801523336557272219921456462821518061", + 10, + ) + .unwrap(); + let b2: BigInt = BigInt::parse_bytes( + b"12242166908188651009877250812424843524687801523336557272219921456462821518061", + 10, + ) + .unwrap(); + let mut big_arr: Vec = Vec::new(); + big_arr.push(b1.clone()); + big_arr.push(b2.clone()); + let mimc7 = Mimc7::new(); + + c.bench_function("hash", |b| b.iter(|| mimc7.hash(big_arr.clone()).unwrap())); +} + +criterion_group!(benches, criterion_benchmark); +criterion_main!(benches);