Skip to content

Commit e5a46d4

Browse files
committed
Saffron/benches: use get_srs_test from kimchi
1 parent bd608bb commit e5a46d4

File tree

1 file changed

+14
-16
lines changed

1 file changed

+14
-16
lines changed

saffron/benches/read_proof_bench.rs

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,26 +3,18 @@
33
use ark_ff::{One, UniformRand, Zero};
44
use ark_poly::{univariate::DensePolynomial, Evaluations};
55
use criterion::{black_box, criterion_group, criterion_main, BatchSize, Criterion};
6-
use kimchi::{circuits::domains::EvaluationDomains, groupmap::GroupMap};
6+
use kimchi::{
7+
circuits::domains::EvaluationDomains, groupmap::GroupMap, precomputed_srs::get_srs_test,
8+
};
79
use mina_curves::pasta::{Fp, Vesta};
810
use once_cell::sync::Lazy;
9-
use poly_commitment::{commitment::CommitmentCurve, ipa::SRS, SRS as _};
11+
use poly_commitment::{commitment::CommitmentCurve, SRS as _};
1012
use rand::rngs::OsRng;
1113
use saffron::{
12-
env,
1314
read_proof::{prove, verify},
1415
ScalarField, SRS_SIZE,
1516
};
1617

17-
// Set up static resources to avoid re-computation during benchmarks
18-
static SRS: Lazy<SRS<Vesta>> = Lazy::new(|| {
19-
if let Ok(srs) = std::env::var("SRS_FILEPATH") {
20-
env::get_srs_from_cache(srs)
21-
} else {
22-
SRS::create(SRS_SIZE)
23-
}
24-
});
25-
2618
static DOMAIN: Lazy<EvaluationDomains<ScalarField>> =
2719
Lazy::new(|| EvaluationDomains::<ScalarField>::create(SRS_SIZE).unwrap());
2820

@@ -37,10 +29,12 @@ fn generate_test_data(
3729
// Generate data with specified size
3830
let data: Vec<ScalarField> = (0..size).map(|_| Fp::rand(&mut rng)).collect();
3931

32+
let srs = get_srs_test();
33+
4034
// Create data commitment
4135
let data_poly: DensePolynomial<ScalarField> =
4236
Evaluations::from_vec_and_domain(data.clone(), DOMAIN.d1).interpolate();
43-
let data_comm: Vesta = SRS.commit_non_hiding(&data_poly, 1).chunks[0];
37+
let data_comm: Vesta = srs.commit_non_hiding(&data_poly, 1).chunks[0];
4438

4539
// Generate query (about 10% of positions will be queried)
4640
let query: Vec<ScalarField> = (0..size)
@@ -62,14 +56,16 @@ fn generate_test_data(
6256
fn bench_read_proof_prove(c: &mut Criterion) {
6357
let (data, query, answer, data_comm) = generate_test_data(SRS_SIZE);
6458

59+
let srs = get_srs_test();
60+
6561
let description = format!("prove size {}", SRS_SIZE);
6662
c.bench_function(description.as_str(), |b| {
6763
b.iter_batched(
6864
|| OsRng,
6965
|mut rng| {
7066
black_box(prove(
7167
*DOMAIN,
72-
&SRS,
68+
&srs,
7369
&GROUP_MAP,
7470
&mut rng,
7571
data.as_slice(),
@@ -86,11 +82,13 @@ fn bench_read_proof_prove(c: &mut Criterion) {
8682
fn bench_read_proof_verify(c: &mut Criterion) {
8783
let (data, query, answer, data_comm) = generate_test_data(SRS_SIZE);
8884

85+
let srs = get_srs_test();
86+
8987
// Create proof first
9088
let mut rng = OsRng;
9189
let proof = prove(
9290
*DOMAIN,
93-
&SRS,
91+
&srs,
9492
&GROUP_MAP,
9593
&mut rng,
9694
data.as_slice(),
@@ -105,7 +103,7 @@ fn bench_read_proof_verify(c: &mut Criterion) {
105103
|| OsRng,
106104
|mut rng| {
107105
black_box(verify(
108-
*DOMAIN, &SRS, &GROUP_MAP, &mut rng, &data_comm, &proof,
106+
*DOMAIN, &srs, &GROUP_MAP, &mut rng, &data_comm, &proof,
109107
))
110108
},
111109
BatchSize::SmallInput,

0 commit comments

Comments
 (0)