arnaucube
arnaucube/sonobe-playgroundPublic Self-hosted repository
Use spans
Piotr Mikołajczyk piomiko41@gmail.com
Tue, 15 Oct 2024 13:18:04 +0200
commit

e12c36f5878c4f8c050f1e1dff3281f875f8a637

parent

7cf536d1ad82cba21762cd82a7045e02153d46f7

3 files changed, 15 insertions(+), 23 deletions(-)

jump to
M src/logging.rs → src/logging.rs

@@ -1,14 +1,7 @@

-use std::{io, time::Instant}; +use std::io; -use tracing::{info, level_filters::LevelFilter}; -use tracing_subscriber::{EnvFilter, fmt::format::FmtSpan}; - -pub fn measure<T, Action: FnOnce() -> T>(action_name: &str, action: Action) -> T { - let start = Instant::now(); - let result = action(); - info!("{action_name}: {:?}", start.elapsed()); - result -} +use tracing::level_filters::LevelFilter; +use tracing_subscriber::{fmt::format::FmtSpan, EnvFilter}; fn get_filter() -> EnvFilter { EnvFilter::builder()
M src/main.rs → src/main.rs

@@ -1,10 +1,10 @@

use scenario_config::ScenarioConfig; +use tracing::info_span; use crate::{ folding::{prepare_folding, verify_folding, FoldingSchemeExt, HyperNovaFolding, NovaFolding}, - logging::init_logging, + logging::{init_logging}, }; -use crate::logging::measure; mod circuit; mod logging;

@@ -22,17 +22,16 @@ ) {

// ============== FOLDING PREPARATION ========================================================== let start_state = config.start_ivc_state.clone(); - let (mut folding, folding_vp) = measure("Prepare folding", || { - prepare_folding::<FS>(&config.circuit, start_state.clone(), rng) - }); + let (mut folding, folding_vp) = info_span!("Prepare folding") + .in_scope(|| prepare_folding::<FS>(&config.circuit, start_state.clone(), rng)); + + let input = info_span!("Transform input") + .in_scope(|| folding.transform_inputs(config.input().to_vec(), start_state, &mut *rng)); // ============== FOLDING ====================================================================== - let input = measure("Transform input", || { - folding.transform_inputs(config.input().to_vec(), start_state.clone(), &mut *rng) - }); for (i, step_input) in input.into_iter().enumerate() { - measure(&format!("Prove_step {i}"), || { + info_span!("Folding step", step = i).in_scope(|| { folding .prove_step( &mut *rng,

@@ -45,7 +44,7 @@ }

// ============== FOLDING VERIFICATION ========================================================= - measure("Folding verification", || { + info_span!("Folding verification").in_scope(|| { verify_folding( &folding, folding_vp,
M src/scenario_config.rs → src/scenario_config.rs

@@ -1,9 +1,9 @@

use ark_bn254::Fr; use num_traits::Zero; use sonobe::frontend::circom::CircomFCircuit; +use tracing::info_span; use crate::{circuit::create_circuit, input::prepare_input}; -use crate::logging::measure; #[derive(Clone)] pub struct ScenarioConfig {

@@ -18,8 +18,8 @@ pub fn new() -> Self {

Self { num_inputs: 6, start_ivc_state: vec![Fr::zero(); 2], - circuit: measure("Prepare circuit", create_circuit), - input: measure("Prepare input", prepare_input), + circuit: info_span!("Prepare circuit").in_scope(create_circuit), + input: info_span!("Prepare input").in_scope(prepare_input), } }