Skip to content

Commit 1db2fc1

Browse files
committed
bench-utils added to bw6
1 parent ba99a90 commit 1db2fc1

File tree

3 files changed

+26
-10
lines changed

3 files changed

+26
-10
lines changed

bw6/Cargo.toml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ ark-std = { git = "https://github.com/arkworks-rs/utils", default-features = fal
1717
ark-poly = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
1818
ark-poly-commit = { git = "https://github.com/swasilyev/poly-commit", branch = "kzg-fix", default-features = false }
1919

20+
bench-utils = { git = "https://github.com/arkworks-rs/utils" }
21+
2022
bitvec = { version = "0.19", default-features = false, features = [ "alloc" ] }
2123
rand = "0.7"
2224

@@ -26,3 +28,6 @@ criterion = "0.3"
2628
[[bench]]
2729
name = "bench"
2830
harness = false
31+
32+
[features]
33+
print-trace = [ "bench-utils/print-trace" ]

bw6/src/lib.rs

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -202,18 +202,21 @@ mod tests {
202202
use super::*;
203203
use std::time::Instant;
204204
use ark_ff::{test_rng, UniformRand};
205+
use bench_utils::{end_timer, start_timer};
205206

206207
#[test]
207-
fn test_apk_proof() {
208-
let num_pks = 1000;
208+
fn apk_proof() {
209+
let num_pks = 1023;
209210

210211
let rng = &mut test_rng();
211212

212213
let signer_set = SignerSet::random(num_pks, rng);
213214

214-
let parameter_generation = Instant::now();
215+
// let parameter_generation = Instant::now();
216+
let setup = start_timer!(|| "BW6 setup");
215217
let params = Params::new(signer_set.size(), rng);
216-
println!("{}μs = parameter generation", parameter_generation.elapsed().as_micros());
218+
end_timer!(setup);
219+
// println!("{}μs = parameter generation", parameter_generation.elapsed().as_micros());
217220

218221
let pks_domain_size = GeneralEvaluationDomain::<F>::compute_size_of_domain(num_pks).unwrap();
219222

@@ -224,13 +227,17 @@ mod tests {
224227
let b: BitVec = (0..num_pks).map(|_| rng.gen_bool(2.0 / 3.0)).collect();
225228
let apk = bls::PublicKey::aggregate(signer_set.get_by_mask(&b));
226229

227-
let proving = Instant::now();
230+
// let proving = Instant::now();
231+
let prove_ = start_timer!(|| "BW6 prove");
228232
let proof = prove(&b, signer_set.get_all(), &params.to_pk());
229-
println!("{}μs = proving\n", proving.elapsed().as_micros());
233+
end_timer!(prove_);
234+
// println!("{}μs = proving\n", proving.elapsed().as_micros());
230235

231-
let verification = Instant::now();
236+
// let verification = Instant::now();
237+
let verify_ = start_timer!(|| "BW6 verify");
232238
let valid = verify(&pks_x_comm, &pks_y_comm, &apk, &b, &proof, &params.to_vk());
233-
println!("{}μs = verification", verification.elapsed().as_micros());
239+
end_timer!(verify_);
240+
// println!("{}μs = verification", verification.elapsed().as_micros());
234241

235242
assert!(valid);
236243
}

bw6/src/verifier.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ use ark_ec::{AffineCurve, PairingEngine, ProjectiveCurve};
55
use ark_ff::{One, PrimeField, test_rng, UniformRand};
66

77
use bitvec::vec::BitVec;
8+
use bench_utils::{end_timer, start_timer};
89

910
use crate::{endo, Proof, PublicKey, utils, VerifierKey};
1011

@@ -20,10 +21,13 @@ pub fn verify(
2021

2122
let nu= proof.nu;
2223

23-
let timer = Instant::now();
24+
// let timer = Instant::now();
25+
let accountability = start_timer!(|| "accountability check");
2426
let b_at_zeta = utils::barycentric_eval_binary_at(proof.zeta, &bitmask, vk.domain);
25-
// println!(" {}μs = accountability", timer.elapsed().as_micros());
2627
assert_eq!(b_at_zeta, proof.b_zeta); // accountability
28+
end_timer!(accountability);
29+
// println!(" {}μs = accountability", timer.elapsed().as_micros());
30+
2731

2832
let timer = Instant::now();
2933
let nu_repr = nu.into_repr();

0 commit comments

Comments
 (0)