Skip to content

Commit

Permalink
Improve constant evaluation logging (#2083)
Browse files Browse the repository at this point in the history
I noticed that constant evaluation takes a very long time. With this
logging, it is easier to see why, e.g. for the Rust Keccak example:
```
  Generated values for main_poseidon_gl::CLK[0] (32..4194304) in 5.11s
  Generated values for main_poseidon_gl::CLK[1] (32..4194304) in 5.77s
  Generated values for main_poseidon_gl::CLK[2] (32..4194304) in 5.39s
  Generated values for main_poseidon_gl::CLK[3] (32..4194304) in 5.12s
  Generated values for main_poseidon_gl::CLK[4] (32..4194304) in 6.32s
  Generated values for main_poseidon_gl::CLK[5] (32..4194304) in 6.25s
  Generated values for main_poseidon_gl::CLK[6] (32..4194304) in 4.92s
  Generated values for main_poseidon_gl::CLK[7] (32..4194304) in 5.48s
  Generated values for main_poseidon_gl::CLK[8] (32..4194304) in 5.39s
  Generated values for main_poseidon_gl::CLK[9] (32..4194304) in 5.85s
  Generated values for main_poseidon_gl::CLK[10] (32..4194304) in 5.84s
  Generated values for main_poseidon_gl::CLK[11] (32..4194304) in 5.23s
  Generated values for main_poseidon_gl::CLK[12] (32..4194304) in 6.04s
  Generated values for main_poseidon_gl::CLK[13] (32..4194304) in 6.08s
  Generated values for main_poseidon_gl::CLK[14] (32..4194304) in 4.88s
  Generated values for main_poseidon_gl::CLK[15] (32..4194304) in 5.93s
  Generated values for main_poseidon_gl::LASTBLOCK (32..4194304) in 12.95s
Fixed column generation took 108.75529s
```
georgwiese authored Nov 13, 2024

Verified

This commit was signed with the committer’s verified signature.
MichaelTaylor3D Michael Taylor
1 parent 87823c1 commit 0913624
Showing 1 changed file with 18 additions and 3 deletions.
21 changes: 18 additions & 3 deletions executor/src/constant_evaluator/mod.rs
Original file line number Diff line number Diff line change
@@ -32,20 +32,35 @@ pub fn generate<T: FieldElement>(analyzed: &Analyzed<T>) -> Vec<(String, Variabl
fixed_cols.entry((name.clone(), id)).or_insert_with(|| {
let index = poly.is_array().then_some(index as u64);
let range = poly.degree.unwrap();
range
let start_time = std::time::Instant::now();
let column = range
.iter()
.map(|degree| {
used_interpreter = true;
interpreter::generate_values(analyzed, degree, &name, value, index)
})
.collect::<Vec<_>>()
.into()
.into();
let time = start_time.elapsed().as_secs_f32();
let log_level = if time > 1.0 {
log::Level::Debug
} else {
log::Level::Trace
};
log::log!(
log_level,
" Generated values for {} ({}) in {:.2}s",
name,
range,
time
);
column
});
}
}
}
if !used_interpreter && !fixed_cols.is_empty() {
log::info!("All columns were genrated using JIT-code.");
log::info!("All columns were generated using JIT-code.");
}

fixed_cols

0 comments on commit 0913624

Please sign in to comment.