diff --git a/Cargo.toml b/Cargo.toml index e81e9881..9e322f15 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -33,7 +33,7 @@ clear_on_drop = { version = "0.2", default-features = false } [dev-dependencies] hex = "0.3" -criterion = "0.3" +criterion = "0.5" bincode = "1" rand_chacha = "0.2" diff --git a/benches/generators.rs b/benches/generators.rs index 0b2bbfdb..32e69da2 100644 --- a/benches/generators.rs +++ b/benches/generators.rs @@ -1,19 +1,18 @@ use bulletproofs::{BulletproofGens, PedersenGens}; - -#[macro_use] -extern crate criterion; -use criterion::Criterion; +use criterion::BenchmarkId; +use criterion::{criterion_group, criterion_main, Criterion}; fn pc_gens(c: &mut Criterion) { c.bench_function("PedersenGens::new", |b| b.iter(|| PedersenGens::default())); } fn bp_gens(c: &mut Criterion) { - c.bench_function_over_inputs( - "BulletproofGens::new", - |b, size| b.iter(|| BulletproofGens::new(*size, 1)), - (0..10).map(|i| 2 << i), - ); + let mut group = c.benchmark_group("BulletproofGens::new"); + for size in (0..10).map(|i| 2 << i) { + group.bench_with_input(BenchmarkId::from_parameter(size), &size, |b, &size| { + b.iter(|| BulletproofGens::new(size, 1)) + }); + } } criterion_group! { diff --git a/benches/r1cs.rs b/benches/r1cs.rs index 356a6527..a19c6f4f 100644 --- a/benches/r1cs.rs +++ b/benches/r1cs.rs @@ -1,8 +1,6 @@ #![allow(non_snake_case)] -#[macro_use] -extern crate criterion; -use criterion::Criterion; +use criterion::{criterion_group, criterion_main, Criterion}; // Code below copied from ../tests/r1cs.rs // diff --git a/benches/range_proof.rs b/benches/range_proof.rs index 5ab246ec..ca39f31b 100644 --- a/benches/range_proof.rs +++ b/benches/range_proof.rs @@ -1,7 +1,6 @@ #![allow(non_snake_case)] -#[macro_use] -extern crate criterion; -use criterion::Criterion; +use criterion::BenchmarkId; +use criterion::{criterion_group, criterion_main, Criterion}; use rand; use rand::Rng; @@ -17,10 +16,10 @@ static AGGREGATION_SIZES: [usize; 6] = [1, 2, 4, 8, 16, 32]; fn create_aggregated_rangeproof_helper(n: usize, c: &mut Criterion) { let label = format!("Aggregated {}-bit rangeproof creation", n); + let mut group = c.benchmark_group(&label); - c.bench_function_over_inputs( - &label, - move |b, &&m| { + for size in AGGREGATION_SIZES { + group.bench_with_input(BenchmarkId::from_parameter(size), &size, move |b, &m| { let pc_gens = PedersenGens::default(); let bp_gens = BulletproofGens::new(n, m); let mut rng = rand::thread_rng(); @@ -42,9 +41,8 @@ fn create_aggregated_rangeproof_helper(n: usize, c: &mut Criterion) { n, ) }) - }, - &AGGREGATION_SIZES, - ); + }); + } } fn create_aggregated_rangeproof_n_8(c: &mut Criterion) { @@ -65,10 +63,10 @@ fn create_aggregated_rangeproof_n_64(c: &mut Criterion) { fn verify_aggregated_rangeproof_helper(n: usize, c: &mut Criterion) { let label = format!("Aggregated {}-bit rangeproof verification", n); + let mut group = c.benchmark_group(&label); - c.bench_function_over_inputs( - &label, - move |b, &&m| { + for size in AGGREGATION_SIZES { + group.bench_with_input(BenchmarkId::from_parameter(size), &size, move |b, &m| { let pc_gens = PedersenGens::default(); let bp_gens = BulletproofGens::new(n, m); let mut rng = rand::thread_rng(); @@ -94,9 +92,8 @@ fn verify_aggregated_rangeproof_helper(n: usize, c: &mut Criterion) { proof.verify_multiple(&bp_gens, &pc_gens, &mut transcript, &value_commitments, n) }); - }, - &AGGREGATION_SIZES, - ); + }); + } } fn verify_aggregated_rangeproof_n_8(c: &mut Criterion) {