1- use koala_bear:: {
2- ExternalLayerConstants , KOALABEAR_RC16_EXTERNAL_FINAL , KOALABEAR_RC16_EXTERNAL_INITIAL , KOALABEAR_RC16_INTERNAL ,
3- Poseidon2KoalaBear , QuinticExtensionFieldKB ,
4- } ;
1+ use koala_bear:: { QuinticExtensionFieldKB , default_koalabear_poseidon1_16} ;
52use mt_fiat_shamir:: { FSProver , FSVerifier , ProverState , VerifierState } ;
63use std:: time:: Instant ;
74
@@ -11,25 +8,18 @@ type EF = QuinticExtensionFieldKB;
118#[ ignore]
129fn bench_grinding ( ) {
1310 let n_reps = 100 ;
14- for grinding_bits in 10 ..=20 {
15- let mut prover_state = ProverState :: < EF , _ > :: new ( get_poseidon16 ( ) ) ;
11+ for grinding_bits in 20 ..=20 {
12+ let mut prover_state = ProverState :: < EF , _ > :: new ( default_koalabear_poseidon1_16 ( ) ) ;
1613 let time = Instant :: now ( ) ;
1714 for _ in 0 ..n_reps {
1815 prover_state. pow_grinding ( grinding_bits) ;
1916 }
2017 let elapsed = time. elapsed ( ) ;
21- let mut verifier_state = VerifierState :: < EF , _ > :: new ( prover_state. into_proof ( ) , get_poseidon16 ( ) ) . unwrap ( ) ;
18+ let mut verifier_state =
19+ VerifierState :: < EF , _ > :: new ( prover_state. into_proof ( ) , default_koalabear_poseidon1_16 ( ) ) . unwrap ( ) ;
2220 for _ in 0 ..n_reps {
2321 verifier_state. check_pow_grinding ( grinding_bits) . unwrap ( )
2422 }
2523 println ! ( "Grinding {grinding_bits} bits: {:?}" , elapsed / n_reps) ;
2624 }
2725}
28-
29- pub fn get_poseidon16 ( ) -> Poseidon2KoalaBear < 16 > {
30- let external_constants = ExternalLayerConstants :: new (
31- KOALABEAR_RC16_EXTERNAL_INITIAL . to_vec ( ) ,
32- KOALABEAR_RC16_EXTERNAL_FINAL . to_vec ( ) ,
33- ) ;
34- Poseidon2KoalaBear :: new ( external_constants, KOALABEAR_RC16_INTERNAL . to_vec ( ) )
35- }
0 commit comments