diff --git a/benches/commit.rs b/benches/commit.rs index de0c6e1ddc1997dfdaebd4fc89d6574763fdad13..c2d50a3efa9e48b39879432154bf5aac9187596e 100644 --- a/benches/commit.rs +++ b/benches/commit.rs @@ -1,12 +1,10 @@ use std::time::Duration; -use ark_bls12_381::{Bls12_381, Fr, G1Projective}; use ark_ec::{pairing::Pairing, CurveGroup}; use ark_ff::PrimeField; use ark_poly::{univariate::DensePolynomial, DenseUVPolynomial}; -use ark_std::ops::Div; - use ark_poly_commit::kzg10::{Powers, KZG10}; +use ark_std::ops::Div; use criterion::{black_box, criterion_group, criterion_main, Criterion}; @@ -62,17 +60,25 @@ where } fn commit(c: &mut Criterion) { + fn aux<F: PrimeField, G: CurveGroup<ScalarField = F>>(c: &mut Criterion, degree: usize) { + commit_template::<F, G, DensePolynomial<F>>(c, black_box(degree)); + } + for n in [1, 2, 4, 8, 16] { - commit_template::<Fr, G1Projective, DensePolynomial<Fr>>(c, black_box(n)); + aux::<ark_bls12_381::Fr, ark_bls12_381::G1Projective>(c, n); + aux::<ark_bn254::Fr, ark_bn254::G1Projective>(c, n); + aux::<ark_pallas::Fr, ark_pallas::Projective>(c, n); } } fn ark_commit(c: &mut Criterion) { + fn aux<E: Pairing>(c: &mut Criterion, degree: usize) { + ark_commit_template::<E, DensePolynomial<E::ScalarField>>(c, black_box(degree)); + } + for n in [1, 2, 4, 8, 16] { - ark_commit_template::<Bls12_381, DensePolynomial<<Bls12_381 as Pairing>::ScalarField>>( - c, - black_box(n), - ); + aux::<ark_bls12_381::Bls12_381>(c, n); + aux::<ark_bn254::Bn254>(c, n); } } diff --git a/benches/linalg.rs b/benches/linalg.rs index dafffa784aaa66cd2557f62642625de6ad4cd8a1..632484e4e937e62fe6788f39a24cecd068a0178d 100644 --- a/benches/linalg.rs +++ b/benches/linalg.rs @@ -1,6 +1,5 @@ use std::time::Duration; -use ark_bls12_381::Fr; use ark_ff::PrimeField; use criterion::{black_box, criterion_group, criterion_main, Criterion}; @@ -19,7 +18,9 @@ fn inverse_template<F: PrimeField>(c: &mut Criterion, n: usize) { fn inverse(c: &mut Criterion) { for n in [10, 15, 20, 30, 40, 60, 80, 120, 160, 240, 320] { - inverse_template::<Fr>(c, black_box(n)); + inverse_template::<ark_bls12_381::Fr>(c, black_box(n)); + inverse_template::<ark_bn254::Fr>(c, black_box(n)); + inverse_template::<ark_pallas::Fr>(c, black_box(n)); } } @@ -35,7 +36,9 @@ fn transpose_template<F: PrimeField>(c: &mut Criterion, n: usize) { fn transpose(c: &mut Criterion) { for n in [10, 15, 20, 30, 40, 60, 80, 120, 160, 240, 320] { - transpose_template::<Fr>(c, black_box(n)); + transpose_template::<ark_bls12_381::Fr>(c, black_box(n)); + transpose_template::<ark_bn254::Fr>(c, black_box(n)); + transpose_template::<ark_pallas::Fr>(c, black_box(n)); } } @@ -51,8 +54,10 @@ fn mul_template<F: PrimeField>(c: &mut Criterion, n: usize) { } fn mul(c: &mut Criterion) { - for n in [10, 15, 20, 30, 40, 60, 80, 120, 160, 240, 320] { - mul_template::<Fr>(c, black_box(n)); + for n in [10, 15, 20, 30, 40, 60, 80, 120] { + mul_template::<ark_bls12_381::Fr>(c, black_box(n)); + mul_template::<ark_bn254::Fr>(c, black_box(n)); + mul_template::<ark_pallas::Fr>(c, black_box(n)); } } diff --git a/benches/recoding.rs b/benches/recoding.rs index d5b986a4c10582dc7cbd1a6ee072089d58d987c2..e9a19e9340a55194c1165adb395d763b7c68d83d 100644 --- a/benches/recoding.rs +++ b/benches/recoding.rs @@ -1,6 +1,5 @@ use std::time::Duration; -use ark_bls12_381::Fr; use ark_ff::PrimeField; use ark_std::rand::Rng; @@ -56,7 +55,9 @@ fn criterion_benchmark(c: &mut Criterion) { for nb_bytes in [1, 1_024, 1_024 * 1_024] { for nb_shards in [2, 4, 8, 16] { for k in [2, 4, 8, 16] { - bench_template::<Fr>(c, nb_bytes, k, nb_shards); + bench_template::<ark_bls12_381::Fr>(c, nb_bytes, k, nb_shards); + bench_template::<ark_bn254::Fr>(c, nb_bytes, k, nb_shards); + bench_template::<ark_pallas::Fr>(c, nb_bytes, k, nb_shards); } } } diff --git a/benches/setup.rs b/benches/setup.rs index 42f3e166f65deb7de70ae5dce295a9e9ea1b5b4f..a4405d143ac2539adbd76431fbd5ab538c2baba8 100644 --- a/benches/setup.rs +++ b/benches/setup.rs @@ -1,6 +1,5 @@ use std::time::Duration; -use ark_bls12_381::Bls12_381; use ark_ec::{pairing::Pairing, CurveGroup}; use ark_ff::PrimeField; use ark_poly::{univariate::DensePolynomial, DenseUVPolynomial}; @@ -146,17 +145,25 @@ where } fn setup(c: &mut Criterion) { + fn aux<F: PrimeField, G: CurveGroup<ScalarField = F>>(c: &mut Criterion, degree: usize) { + setup_template::<F, G, DensePolynomial<F>>(c, black_box(degree)); + } + for n in [1, 2, 4, 8, 16] { - setup_template::<Fr, G1Projective, DensePolynomial<Fr>>(c, black_box(n)); + aux::<ark_bls12_381::Fr, ark_bls12_381::G1Projective>(c, n); + aux::<ark_bn254::Fr, ark_bn254::G1Projective>(c, n); + aux::<ark_pallas::Fr, ark_pallas::Projective>(c, n); } } fn ark_setup(c: &mut Criterion) { + fn aux<E: Pairing>(c: &mut Criterion, degree: usize) { + ark_setup_template::<E, DensePolynomial<E::ScalarField>>(c, black_box(degree)); + } + for n in [1, 2, 4, 8, 16] { - ark_setup_template::<Bls12_381, DensePolynomial<<Bls12_381 as Pairing>::ScalarField>>( - c, - black_box(n), - ); + aux::<ark_bls12_381::Bls12_381>(c, n); + aux::<ark_bn254::Bn254>(c, n); } } diff --git a/examples/bench_setup_size.rs b/examples/bench_setup_size.rs index 804181c8e9876470498b145c5a0b8e2dae6f3291..c3673224d6f0e2b3b384ac3b873a4bc5f58578c4 100644 --- a/examples/bench_setup_size.rs +++ b/examples/bench_setup_size.rs @@ -1,4 +1,3 @@ -use ark_bls12_381::{Fr, G1Projective}; use ark_ec::CurveGroup; use ark_ff::PrimeField; use ark_poly::{univariate::DensePolynomial, DenseUVPolynomial}; @@ -35,7 +34,13 @@ where } fn main() { + fn aux<F: PrimeField, G: CurveGroup<ScalarField = F>>(degree: usize) { + setup_template::<F, G, DensePolynomial<F>>(degree); + } + for n in [1, 2, 4, 8, 16] { - setup_template::<Fr, G1Projective, DensePolynomial<Fr>>(n); + aux::<ark_bls12_381::Fr, ark_bls12_381::G1Projective>(n); + aux::<ark_bn254::Fr, ark_bn254::G1Projective>(n); + aux::<ark_pallas::Fr, ark_pallas::Projective>(n); } }