diff --git a/prover/src/test_utils.rs b/prover/src/test_utils.rs index d6a8b8608..3c17b2848 100644 --- a/prover/src/test_utils.rs +++ b/prover/src/test_utils.rs @@ -671,6 +671,12 @@ fn build_air + Clone + Send + Sync + 'static>( .with_name(name); // Pre-capture the constraint IR so every clone carries it (the prover's // GPU lowering and interpreter paths force it per instance otherwise). + // + // NOT on the guest: the in-VM verifier reaches `build_air` through + // `VmAirs::new` and never calls `constraint_program()`, so capturing here + // buys it nothing and costs a full IR build per AIR — measured as ~9.7% of + // the recursion guest's cycles on a real block. + #[cfg(not(target_arch = "riscv64"))] let _ = air.constraint_program(); air_prototype_cache() .lock()