benchmark-chonk

Benchmark Chonk client-IOV proving with pinned IVC inputs for native and WASM runs.

Updated May 14, 2026
One-click install
npx skills add https://github.com/HabibTorjmen/Blockchain --skill benchmark-chonk
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: benchmark-chonk
Source: https://github.com/HabibTorjmen/Blockchain/tree/main/aztec-packages/barretenberg/.claude/skills/benchmark-chonk
Command: npx skills add https://github.com/HabibTorjmen/Blockchain --skill benchmark-chonk

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Reliable Chonk proving performance numbers without misleading micro-benchmarks, so you can understand what changed and where time is spent.

Core Features & Use Cases

  • Realistic, pinned IVC inputs: Benchmarks Chonk against pinned ivc-inputs.msgpack captured from real end-to-end transaction flows to keep comparisons consistent over time.
  • Native and WASM coverage: Runs both native proving and WASM proving (via wasmtime with threads enabled) so performance impacts are visible across environments.
  • Hierarchical profiling output: Produces hierarchical benchmark breakdowns suitable for component-level analysis and reporting.

Quick Start

Run a native Chonk benchmark for a real pinned flow (example flow: schnorr+deploy_tokenContract_with_registration+sponsored_fpc) with output written to /tmp/chonk-bench-out, using HARDWARE_CONCURRENCY=8 and generating benchmark_breakdown.json.

Frequently Asked Questions about benchmark-chonk

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I benchmark Chonk proving performance without misleading micro-benchmarks?

To benchmark Chonk proving performance reliably, use pinned `ivc-inputs.msgpack` files captured from real end-to-end transaction flows. This ensures stable, comparable results by eliminating environmental variances, allowing you to accurately measure what changed and where execution time is spent.

How do I extract per-circuit operation timing for native and WASM Chonk proving?

Extract per-circuit operation timing by building the `bb` binary and executing `bb prove --scheme chonk` with `--print_bench` and `--bench_out_hierarchical` flags. For WASM runs, enable `BB_BENCH=1` to capture performance metrics across both environments.

Does Chonk proving profiling support WASM environments?

Yes, Chonk proving profiling supports WASM environments via wasmtime with threads enabled. You can run benchmarks using `BB_BENCH=1` to measure WASM proving performance alongside native execution to ensure performance impacts are visible across both environments.

What is the best way to compare Chonk performance across code changes?

The best way to compare Chonk performance across code changes is using A/B comparisons against pinned IVC inputs. This method generates hierarchical benchmark breakdowns suitable for component-level analysis, keeping comparisons consistent over time.

Why do I need pinned ivc-inputs.msgpack for performance regression testing?

You need pinned `ivc-inputs.msgpack` for performance regression testing because it captures real end-to-end transaction flows. Using pinned inputs keeps comparisons consistent over time, preventing external data variations from skewing your benchmark results.