pub fn bench_from_exe<E, VB, NativeBuilder>(
bench_name: impl ToString,
app_config: AppConfig<VB::VmConfig>,
exe: impl Into<ExecutableFormat>,
input_stream: StdIn,
leaf_vm_config: Option<NativeConfig>,
) -> Result<()>where
E: StarkFriEngine<SC = BabyBearPoseidon2Config>,
VB: VmBuilder<E> + Clone + Default,
VB::VmConfig: TranspilerConfig<BabyBear>,
<VB::VmConfig as VmExecutionConfig<BabyBear>>::Executor: Executor<BabyBear> + MeteredExecutor<BabyBear> + PreflightExecutor<BabyBear, VB::RecordArena>,
NativeBuilder: VmBuilder<E, VmConfig = NativeConfig> + Clone + Default,
<NativeConfig as VmExecutionConfig<BabyBear>>::Executor: PreflightExecutor<BabyBear, <NativeBuilder as VmBuilder<E>>::RecordArena>,
Expand description
- Generate proving key from config.
- Commit to the exe by generating cached trace for program.
- Executes runtime
- Generate trace
- Generate STARK proofs for each segment (segmentation is determined by
config
) - Verify STARK proofs.
Returns the data necessary for proof aggregation.