Skip to content

ci: add benchmark block presets and measured precompile mix - #657

Open
Qumeric wants to merge 2 commits into
mainfrom
valery/bench-block-presets
Open

ci: add benchmark block presets and measured precompile mix#657
Qumeric wants to merge 2 commits into
mainfrom
valery/bench-block-presets

Conversation

@Qumeric

@Qumeric Qumeric commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

Stacked on #656.

What

  • .github/benchmark-blocks.json — registry of curated benchmark blocks with provenance notes: p100 / p99 / p50 (from the 16-GPU release run over blocks 24000000..24007199), keccak-heavy (Aztec-pattern rollup block — flamegraph-verified: 20.7% of its cells are keccak permutations, bn254 arithmetic is 0.31%), and p256-heavy (the pre-July-2026 default, kept for precompile-targeted comparisons).
  • block_preset choice input on Compare Branches and Compare Benchmarks — picking a block is now a dropdown with semantic names; the free-text block_number remains as an override. A small resolve-block job (GitHub-hosted, seconds) resolves the preset from the registry so there is a single source of truth.
  • Measured precompile mix in the run summary — the resolve job traces whatever block is actually benchmarked (debug_traceBlockByNumber + callTracer via RPC_URL_1, public fallback) and writes its precompile call counts to the step summary. This is measured per run, not looked up, so it is correct for arbitrary blocks too. Non-fatal on RPC failure (continue-on-error).

Why

The old default block made the tail because of software P256VERIFY (7 calls, ~8% of its instructions), so a p256 optimization showed −9.34% on it while moving fleet percentiles not at all. Making the block's workload mix visible next to every result prevents extrapolating workload-specific wins, and named presets make it obvious how to check a claim against a median or stress block.

@Qumeric
Qumeric force-pushed the valery/bench-block-presets branch from fb66c72 to 4c4c35a Compare July 10, 2026 14:26
Base automatically changed from valery/default-block-24001988 to main July 10, 2026 17:06
Qumeric and others added 2 commits July 14, 2026 14:31
Guest circuit flamegraph of block 24002549 showed its cost is keccak
cells (20.7% of app-proof cells), not bn254 arithmetic (0.31%).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@Qumeric
Qumeric force-pushed the valery/bench-block-presets branch from 4c4c35a to 2158c48 Compare July 14, 2026 13:31
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.

1 participant