NethermindEth / NethermindEth/state-benchmarks
Build the benchmark harness (sync / execution / RPC, NM + Geth)
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
Build the reusable, milestone-agnostic benchmark harness that #21 runs at each state size. NM + Geth first (other clients via #26).
Modules
- Sync — drives a fresh client snap-syncing from a milestone source; captures wall time, bandwidth, IOPS, RSS, final DB size (feeds #16/#17/#18)
- Execution — replays a fixed block window; captures block-processing p50/p95/p99, gas/s, CPU%, RSS growth
- RPC latency — concurrent load on
eth_getBalance/getStorageAt/call/getProof/getCode; p50/p95/p99 - Output —
benchmarks/<milestone>/{client,metric,...}.json|csv; >25% regression flags; Grafana panels - Repeatable within ±5%
This is the engineering task underneath #21 (which is the runs). Start with the Sync module (it doubles as the Geth-snapshot producer for the cloud deliverable).
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the Sync module, using issue #21 for the benchmark-run context and #26 for the boundary to other clients. Define the fresh-client snap-sync run for NM and Geth, capture the listed metrics, and confirm repeatability within ±5%; the module should also produce the Geth snapshot needed by the cloud deliverable.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- performance
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100