Skip to content

fix(bench): add warmup step for big blocks mode#23323

Merged
mediocregopher merged 1 commit into
mainfrom
mediocregopher/big-blocks-warmup
Apr 1, 2026
Merged

fix(bench): add warmup step for big blocks mode#23323
mediocregopher merged 1 commit into
mainfrom
mediocregopher/big-blocks-warmup

Conversation

@mediocregopher
Copy link
Copy Markdown
Member

Previously the big blocks code path skipped warmup entirely, going straight to the benchmark. Adds a replay-payloads warmup run before tracy-capture starts, then passes --skip to the benchmark run so warmup payloads aren't measured.

Previously the big blocks code path skipped warmup entirely, going
straight to the benchmark. Adds a replay-payloads warmup run before
tracy-capture starts, then passes --skip to the benchmark run so
warmup payloads aren't measured.

Amp-Thread-ID: https://ampcode.com/threads/T-019d4888-bff6-73ae-86ac-302263149682
Co-authored-by: Amp <amp@ampcode.com>
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 1, 2026

⚠️ Changelog not found.

A changelog entry is required before merging. We've generated a suggested changelog based on your changes:

Preview
---
reth-bench: patch
---

Added a warmup step to the big blocks benchmark mode that replays a configurable number of payloads (default 50) before starting the measured benchmark run, and moves tracy-capture startup to after the warmup so profiles only cover the actual benchmark.

Add changelog to commit this to your branch.

@mediocregopher
Copy link
Copy Markdown
Member Author

derek bench blg-blocks blocks=100 warmup=10

@decofe
Copy link
Copy Markdown
Member

decofe commented Apr 1, 2026

Invalid bench command

Unknown argument(s): blg-blocks

Usage: @decofe bench [blocks=N] [big-blocks] [warmup=N] [baseline=REF] [feature=REF] [samply] [no-slack] [cores=N] [reth_newPayload=true|false] [abba=true|false] [otlp=true|false] [wait-time=DURATION] [baseline-args="..."] [feature-args="..."]

@mediocregopher
Copy link
Copy Markdown
Member Author

derek bench big-blocks blocks=100 warmup=10

@decofe
Copy link
Copy Markdown
Member

decofe commented Apr 1, 2026

cc @mediocregopher

✅ Benchmark complete! View job

Benchmark Results

⚠️ Feature is 2 commits behind main. Consider rebasing for accurate results.

Metric main mediocregopher/big-blocks-warmup Change
Mean 936.89ms 937.36ms +0.05% ⚪ (±0.22%)
StdDev 203.81ms 204.46ms
P50 946.52ms 947.21ms +0.07% ⚪ (±1.18%)
P90 1193.21ms 1190.25ms -0.25% ⚪ (±0.50%)
P99 1431.07ms 1436.46ms +0.38% ❌ (±0.32%)
Mgas/s 1141.85 1141.45 -0.04% ⚪ (±0.31%)
Wall Clock 188.42s 188.53s +0.05% ⚪ (±0.22%)

100 big blocks

Wait Time Breakdown

Persistence Wait

Metric main mediocregopher/big-blocks-warmup
Mean 607.87ms 624.47ms
P50 0.00ms 0.00ms
P95 2518.93ms 2673.37ms

Trie Cache Update Wait

Metric main mediocregopher/big-blocks-warmup
Mean 0.00ms 0.00ms
P50 0.00ms 0.00ms
P95 0.00ms 0.00ms

Execution Cache Update Wait

Metric main mediocregopher/big-blocks-warmup
Mean 0.00ms 0.00ms
P50 0.00ms 0.00ms
P95 0.00ms 0.00ms

Grafana Dashboard

Charts

Latency, Throughput & Diff

Latency, Throughput & Diff

Wait Time Breakdown

Wait Time Breakdown

Gas vs Latency

Gas vs Latency

Grafana Dashboard

View real-time metrics

@mediocregopher mediocregopher marked this pull request as ready for review April 1, 2026 10:51
@mediocregopher mediocregopher self-assigned this Apr 1, 2026
@github-project-automation github-project-automation Bot moved this from Backlog to In Progress in Reth Tracker Apr 1, 2026
@mediocregopher mediocregopher added this pull request to the merge queue Apr 1, 2026
Merged via the queue into main with commit 17544f8 Apr 1, 2026
38 checks passed
@mediocregopher mediocregopher deleted the mediocregopher/big-blocks-warmup branch April 1, 2026 11:31
@github-project-automation github-project-automation Bot moved this from In Progress to Done in Reth Tracker Apr 1, 2026
github-merge-queue Bot pushed a commit to tempoxyz/tempo that referenced this pull request Apr 3, 2026
Automated nightly update of reth dependencies from `paradigmxyz/reth`
main branch.

## Upstream reth changes


[`f8efc76...c82d435`](paradigmxyz/reth@f8efc76...c82d435)

🔗 Amp thread:
https://ampcode.com/threads/T-019d517e-981b-75fd-b3cf-8ad2455f38f6
**RPC**
- Remove `0x` prefix from `admin_peers` id and return keccak256 node ID
in `admin_nodeInfo.id` to match go-ethereum format
([#23318](paradigmxyz/reth#23318),
[#23319](paradigmxyz/reth#23319))
- Apply count filter only after `after` is consumed in pagination
([#23338](paradigmxyz/reth#23338))
- Pre-allocate vectors in `eth_feeHistory`
([#23334](paradigmxyz/reth#23334))
- Add `bal` RPC methods
([#23330](paradigmxyz/reth#23330))

**Engine**
- Include backpressure in reported `persistence_wait`, make wait-time
mimic CL slot time
([#23308](paradigmxyz/reth#23308))

**Perf**
- Reduce cacheline ping-pong in workers availability
([#23321](paradigmxyz/reth#23321))

**Net**
- Avoid itertools `Format` panic in tracing log
([#23331](paradigmxyz/reth#23331))

**DB**
- Cap `storage_v2` unwind history by MDBX tip
([#23335](paradigmxyz/reth#23335))

**Bench**
- Add warmup step for big blocks mode
([#23323](paradigmxyz/reth#23323))
- Make payload handling ethereum-only
([#23324](paradigmxyz/reth#23324))
- Use repository instead of GitHub Actions cache to track hourly runs
([#23306](paradigmxyz/reth#23306))
- Upload nightly regression results to ClickHouse
([#23344](paradigmxyz/reth#23344))

**Chore**
- Migrate `allow(clippy::` to `expect(clippy::`
([#23340](paradigmxyz/reth#23340))
- Remove unused return value from `dispatch_with_chunking`
([#23341](paradigmxyz/reth#23341))
- Update nixpkgs to 25.11 and refresh flake inputs
([#23342](paradigmxyz/reth#23342))

## Migrations

🔗 Amp thread:
https://ampcode.com/threads/T-019d517e-baf0-727b-a57e-0488240af973
- **Reth dependency bump**: All `reth-*` git dependencies updated from
rev `f8efc76` to `c82d435`
- **New `GetBlockAccessList` trait impl**: `TempoEthApi` now implements
`GetBlockAccessList` (imported from `reth_rpc_eth_api::helpers::bal`),
likely a new required trait added upstream in the reth update

[GitHub
Workflow](https://github.com/tempoxyz/tempo/actions/runs/23933027282)

---------

Co-authored-by: Arsenii Kulikov <klkvrr@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants