Răsfoiți Sursa

halo2/poseidon: Calculate time for proving

parazyd 5 ani în urmă
părinte
comite
777be2ada9
1 a modificat fișierele cu 10 adăugiri și 1 ștergeri
  1. 10 1
      examples/halo2/src/bin/poseidon.rs

+ 10 - 1
examples/halo2/src/bin/poseidon.rs

@@ -1,4 +1,5 @@
 use std::convert::TryInto;
+use std::time::Instant;
 
 use halo2::{
     circuit::{floor_planner, Layouter},
@@ -281,12 +282,20 @@ fn main() {
     let sum = output + c;
 
     // Correct:
-    let public_inputs = vec![sum + Fp::one()];
+    let public_inputs = vec![sum];
     // Incorrect:
     // let public_inputs = vec![sum + Fp::one()];
 
+    let start = Instant::now();
     let vk = VerifyingKey::build();
     let pk = ProvingKey::build();
+    println!("Setup: [{:?}]", start.elapsed());
+
+    let start = Instant::now();
     let proof = Proof::create(&pk, &[circuit], &public_inputs).unwrap();
+    println!("Prove: [{:?}]", start.elapsed());
+
+    let start = Instant::now();
     assert!(proof.verify(&vk, &public_inputs).is_ok());
+    println!("Verify: [{:?}]", start.elapsed());
 }