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.