From 2583d79a7c17b42399fe95469cf2947f82c761cc Mon Sep 17 00:00:00 2001 From: Manish Kumar Date: Fri, 26 Apr 2024 18:56:39 +0530 Subject: [PATCH] proof generation time and verification time added --- hash/plonky2/src/bench/poseidon.rs | 3 --- hash/plonky2/src/bench/sha256/sha.rs | 24 +++++++++++++++++------- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/hash/plonky2/src/bench/poseidon.rs b/hash/plonky2/src/bench/poseidon.rs index 1f176eb..0208f1e 100644 --- a/hash/plonky2/src/bench/poseidon.rs +++ b/hash/plonky2/src/bench/poseidon.rs @@ -13,8 +13,6 @@ use rand::Rng; use std::time; fn generate_data(size: usize) -> Vec { - // let mut rng = rand::thread_rng(); - // (0..size).map(|_| rng.gen()).collect() let mut data: Vec = Vec::new(); for _ in 0..(1< Vec { let random_u64: u64 = rng.gen(); data.push(GoldilocksField::from_canonical_u64(random_u64)); } - // eprint!("data: {:?}", data); data } diff --git a/hash/plonky2/src/bench/sha256/sha.rs b/hash/plonky2/src/bench/sha256/sha.rs index 0d52002..d6de7ee 100644 --- a/hash/plonky2/src/bench/sha256/sha.rs +++ b/hash/plonky2/src/bench/sha256/sha.rs @@ -196,7 +196,6 @@ pub fn sha256_bench() -> Result<()> { let mut hasher = Sha256::new(); hasher.update(msg.clone()); let hash = hasher.finalize(); - // println!("Hash: {:#04X}", hash); let msg_bits = array_to_bits(&msg.clone()); let len = msg.len() * 8; @@ -226,14 +225,25 @@ pub fn sha256_bench() -> Result<()> { builder.num_gates() ); let data = builder.build::(); - // let timing = TimingTree::new("prove", Level::Debug); - let proof = data.prove(pw).unwrap(); - // timing.print(); - // let timing = TimingTree::new("verify", Level::Debug); - let res = data.verify(proof); - // timing.print(); + let (proof_time, proof ) = { + let start = std::time::Instant::now(); + let proof = data.prove(pw).unwrap(); + let end = start.elapsed(); + (end, proof) + }; + + let (verification_time, res) = { + let start = std::time::Instant::now(); + let res = data.verify(proof); + let end = start.elapsed(); + (end, res) + }; + + eprintln!("Proof Generation Time: {:?}", proof_time); + eprintln!("Verification Time: {:?}", verification_time); + res } \ No newline at end of file