benchmarkoor

Runs repeatable benchmarkoor performance benchmarks against Erigon using protected OverlayFS datadirs.

3.6k|1.5k|Updated May 27, 2019
One-click install
npx skills add https://github.com/erigontech/erigon --skill benchmarkoor
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: benchmarkoor
Source: https://github.com/erigontech/erigon/tree/main/.claude/skills/benchmarkoor
Command: npx skills add https://github.com/erigontech/erigon --skill benchmarkoor

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

Benchmarking an Ethereum client like Erigon against large State Actor datadirs or pre-populated snapshots risks mutating valuable pristine data, and ad-hoc runs produce results that cannot be compared across clients or commits. This Skill orchestrates benchmarkoor runs on Linux with kernel-enforced read-only OverlayFS protection so benchmarks are repeatable, safe, and auditable.

Core Features & Use Cases

  • Pristine datadir protection: Places a read-only bind mount in front of State Actor or pre-populated snapshots and routes all writes through disposable OverlayFS upper layers, with canary probes and fingerprint verification before and after runs.
  • Pinned, reproducible runs: Builds Erigon from a dedicated Git worktree, pins base images by digest, captures immutable image IDs, and records every repository commit for provenance.
  • Suite execution and validation: Discovers compute and stateful suite configs from benchmarkoor-tests, runs smoke subsets before full suites, and validates results against fixture inventories.
  • Cross-client ranking: Combines local results with peer runs from the Benchmarkoor website API to produce MGas/s comparison tables, rankings, and before/after improvement analysis.
  • Use Case: An Erigon developer benchmarking a local branch on a devnet can generate a pristine State Actor datadir, protect it with OverlayFS, run the full compute suite with a digest-pinned local image, and publish a PR table ranking the build against reth and other clients.

Quick Start

Ask the AI to run a benchmarkoor compute suite against the current Erigon worktree using a protected OverlayFS datadir and then produce a cross-client MGas/s ranking table.

Frequently Asked Questions about benchmarkoor

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

FAQPage Schema
How do I benchmark Erigon without modifying my datadir?

Place a kernel-enforced read-only bind mount in front of the pristine datadir and configure benchmarkoor with method: overlayfs so all writes go to a disposable upper layer. Verify the lower mount stays ro throughout the run and compare fingerprints before and after.

How do I run a benchmarkoor compute or stateful suite?

Resolve the suite's runner config from the benchmarkoor-tests checkout, build benchmarkoor from source, create a run-only override with your pinned image and protected source_dir, then run a 5-10 fixture smoke subset before the full suite. Validate results against the fixture inventory in the suite summary.

Can I benchmark a local Erigon branch instead of a released image?

Yes. Build the binary from a dedicated Git worktree, create a small overlay image copying that binary onto a digest-pinned base image, and reference the immutable image ID with pull_policy: never in the run override. Verify the image contains the byte-identical binary by comparing SHA-256 hashes.

How do I compare Erigon benchmark results against other clients?

Query the Benchmarkoor website API for peer runs matching your suite hash, extract per-fixture gas and time values, and compute MGas/s rates as gas_used times 1000 divided by time_ns. Rank clients per fixture and aggregate with weighted sums, never by averaging per-fixture rates.

Why must the pristine datadir never be used directly as a benchmark datadir?

Direct use risks mutating a valuable snapshot that took hours to build, and even reads through the writable path can update access times on relatime filesystems. The read-only bind plus OverlayFS upper keeps the original byte-identical, verified by metadata fingerprints and critical-file hashes.

What are the limitations of cross-host benchmark comparisons?

Cross-host or mixed datadir-method rankings measure the observed environments as a whole and cannot isolate client-code performance. Label local OverlayFS versus remote Schelk comparisons as directional rather than controlled measurements, and disclose every hardware and configuration mismatch.