mirror of
https://github.com/logos-blockchain/lssa.git
synced 2026-05-22 01:30:00 +00:00
37 lines
1.3 KiB
Markdown
37 lines
1.3 KiB
Markdown
# cycle_bench
|
|
|
|
Per-program Risc0 cycle counts, prover wall time, PPE composition cost, and
|
|
verifier wall time for the built-in LEZ programs. Feeds the fee model
|
|
(`G_executor`, `G_prove`, `G_verify`, `S_agg`).
|
|
|
|
## Run
|
|
|
|
```sh
|
|
# Executor cycles only (fast, ~seconds)
|
|
cargo run --release -p cycle_bench
|
|
|
|
# + real proving per program (slow, ~minutes)
|
|
cargo run --release -p cycle_bench --features prove -- --prove
|
|
|
|
# + PPE composition cases (very slow, ~hour)
|
|
cargo run --release -p cycle_bench --features ppe -- --prove --ppe
|
|
|
|
# + verifier microbench (G_verify): generates one PPE receipt, times verify x1000
|
|
cargo run --release -p cycle_bench --features ppe -- --verify --verify-iters 1000
|
|
```
|
|
|
|
`RISC0_DEV_MODE=1` skips proving entirely and is only useful for the executor path.
|
|
Combine flags freely; output is printed to stdout and written to
|
|
`target/cycle_bench.json` for regression diffs.
|
|
|
|
## What you'll see
|
|
|
|
- Per-program executor cycles and segments, plus exec wall time as
|
|
`best / mean ± stdev (n=N)`.
|
|
- With `--prove`: prover total cycles, paging cycles, segments, and wall time.
|
|
- With `--ppe`: end-to-end `execute_and_prove` wall time and S_agg
|
|
(the borsh-serialized InnerReceipt length) for one auth-transfer-in-PPE
|
|
case and a chain-caller depth sweep.
|
|
- With `--verify`: verify wall time `best / mean ± stdev`, plus
|
|
`proof_bytes` and `journal_bytes`.
|