Skip to content

feat(provers): Add optional cycle tracking to proving report#358

Open
Andrurachi wants to merge 1 commit into
eth-act:masterfrom
Andrurachi:feat-return-proving-and-execution-time-28
Open

feat(provers): Add optional cycle tracking to proving report#358
Andrurachi wants to merge 1 commit into
eth-act:masterfrom
Andrurachi:feat-return-proving-and-execution-time-28

Conversation

@Andrurachi
Copy link
Copy Markdown
Contributor

Resolves #28.

Updates ProgramProvingReport to track cycle counts during proving mode. execution_duration was omitted because no current zkVM SDK cleanly separates or exposes internal execution time during a prove() call (due to fused/black-box trace generation pipelines).

Changes:

  • core: Added total_num_cycles: Option<u64> to ProgramProvingReport.
  • risc0: Populated cycles via the exposed prove_info.stats.total_cycles.
  • airbender: Extracts cycles directly from the GPU prover's ProveResult. (The interpreter's pre-flight pass is not timed to emulate execution_duration. Execution is fused into the proving pipeline, making pre-flight timing an inaccurate reflection of actual proving-phase execution.
  • sp1 / openvm / zisk: Default to None. Their respective SDKs drop or hide execution metrics during proving, returning only the final proof artifacts. (To get cycles for these, execute() must be call prior to prove()).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Separate Proving time + execution time

1 participant