Skip to content

fix(bench): adjust unpaced newPayload latency#23607

Closed
mediocregopher wants to merge 1 commit into
mainfrom
fix/bench-newpayload-latency
Closed

fix(bench): adjust unpaced newPayload latency#23607
mediocregopher wants to merge 1 commit into
mainfrom
fix/bench-newpayload-latency

Conversation

@mediocregopher
Copy link
Copy Markdown
Member

@mediocregopher mediocregopher commented Apr 17, 2026

When the benchmark runs without wait-time, subtract persistence_wait from the reported newPayload latency so backpressure from prior blocks does not inflate the per-block number. When wait-time is configured, keep the raw server timing returned by reth_newPayload.

Co-Authored-By: Brian Picciano 933154+mediocregopher@users.noreply.github.com

Prompted by: Brian

@github-project-automation github-project-automation Bot moved this to Backlog in Reth Tracker Apr 17, 2026
@mediocregopher mediocregopher added the C-benchmark A change that impacts how or what we benchmark label Apr 17, 2026
@mediocregopher mediocregopher self-assigned this Apr 17, 2026
@decofe
Copy link
Copy Markdown
Member

decofe commented Apr 17, 2026

cc @mediocregopher

✅ Benchmark complete! View job

Benchmark Results

⚠️ Feature is 1 commit behind fix/bench-newpayload-latency. Consider rebasing for accurate results.

Metric fix/bench-newpayload-latency fix/bench-newpayload-latency Change
Mean 768.53ms 817.17ms +6.33% ❌ (±4.07%)
StdDev 165.23ms 157.75ms
P50 743.90ms 815.48ms +9.62% ❌ (±4.56%)
P90 970.08ms 1018.00ms +4.94% ⚪ (±10.05%)
P99 1370.12ms 1347.56ms -1.65% ⚪ (±21.68%)
Mgas/s 1377.17 1292.33 -6.16% ❌ (±3.39%)
Wall Clock 156.80s 166.31s +6.06% ❌ (±4.17%)
Persist Wait 0.88ms 0.21ms -76.18% ⚪ (±99.06%)

100 big blocks, 10 warmup, BAL: feature

Wait Time Breakdown

Persistence Wait

Metric fix/bench-newpayload-latency fix/bench-newpayload-latency
Mean 0.88ms 0.21ms
P50 0.06ms 0.05ms
P95 0.08ms 0.08ms

Trie Cache Update Wait

Metric fix/bench-newpayload-latency fix/bench-newpayload-latency
Mean 0.00ms 0.00ms
P50 0.00ms 0.00ms
P95 0.00ms 0.00ms

Execution Cache Update Wait

Metric fix/bench-newpayload-latency fix/bench-newpayload-latency
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

@decofe
Copy link
Copy Markdown
Member

decofe commented Apr 17, 2026

cc @mediocregopher

✅ Benchmark complete! View job

Benchmark Results

⚠️ Feature is 1 commit behind fix/bench-newpayload-latency. Consider rebasing for accurate results.

Metric fix/bench-newpayload-latency fix/bench-newpayload-latency Change
Mean 768.70ms 827.84ms +7.69% ❌ (±4.22%)
StdDev 173.79ms 166.60ms
P50 739.73ms 825.04ms +11.53% ❌ (±5.41%)
P90 975.29ms 1052.42ms +7.91% ⚪ (±10.91%)
P99 1367.81ms 1270.28ms -7.13% ⚪ (±16.08%)
Mgas/s 1381.82 1280.57 -7.33% ❌ (±3.54%)
Wall Clock 156.80s 168.40s +7.40% ❌ (±4.35%)
Persist Wait 0.26ms 0.31ms +19.66% ⚪ (±189.65%)

100 big blocks, 10 warmup, wait time: 500ms, BAL: feature

Wait Time Breakdown

Persistence Wait

Metric fix/bench-newpayload-latency fix/bench-newpayload-latency
Mean 0.26ms 0.31ms
P50 0.06ms 0.06ms
P95 0.08ms 0.09ms

Trie Cache Update Wait

Metric fix/bench-newpayload-latency fix/bench-newpayload-latency
Mean 0.00ms 0.00ms
P50 0.00ms 0.00ms
P95 0.00ms 0.00ms

Execution Cache Update Wait

Metric fix/bench-newpayload-latency fix/bench-newpayload-latency
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

Subtract persistence wait from reported newPayload latency when the benchmark runs without wait-time. Paced runs keep the raw server timing returned by reth_newPayload.

Co-authored-by: Brian Picciano <933154+mediocregopher@users.noreply.github.com>
Co-authored-by: Amp <amp@ampcode.com>
Amp-Thread-ID: https://ampcode.com/threads/T-019d9a98-5803-738f-b05a-065e4d7452a8
@mediocregopher mediocregopher force-pushed the fix/bench-newpayload-latency branch from dd60baf to b11aba4 Compare April 17, 2026 09:04
@decofe
Copy link
Copy Markdown
Member

decofe commented Apr 17, 2026

cc @mediocregopher

✅ Benchmark complete! View job

Benchmark Results

Metric fix/bench-newpayload-latency fix/bench-newpayload-latency Change
Mean 29.02ms 29.13ms +0.38% ⚪ (±2.15%)
StdDev 13.41ms 14.47ms
P50 26.50ms 26.51ms +0.03% ⚪ (±2.02%)
P90 45.00ms 45.54ms +1.21% ⚪ (±3.27%)
P99 82.42ms 85.78ms +4.09% ⚪ (±20.48%)
Mgas/s 1061.82 1065.83 +0.38% ⚪ (±1.16%)
Wall Clock 29.93s 30.08s +0.51% ⚪ (±2.12%)
Persist Wait 26.15ms 26.05ms -0.37% ⚪ (±26.71%)

500 blocks, 200 warmup

Wait Time Breakdown

Persistence Wait

Metric fix/bench-newpayload-latency fix/bench-newpayload-latency
Mean 26.15ms 26.05ms
P50 0.02ms 0.02ms
P95 232.95ms 248.71ms

Trie Cache Update Wait

Metric fix/bench-newpayload-latency fix/bench-newpayload-latency
Mean 0.52ms 0.47ms
P50 0.00ms 0.00ms
P95 2.53ms 2.17ms

Execution Cache Update Wait

Metric fix/bench-newpayload-latency fix/bench-newpayload-latency
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

@decofe
Copy link
Copy Markdown
Member

decofe commented Apr 17, 2026

cc @mediocregopher

✅ Benchmark complete! View job

Benchmark Results

Metric fix/bench-newpayload-latency fix/bench-newpayload-latency Change
Mean 24.81ms 24.77ms -0.15% ⚪ (±0.90%)
StdDev 11.09ms 11.28ms
P50 23.11ms 23.16ms +0.21% ⚪ (±1.38%)
P90 40.62ms 40.33ms -0.70% ⚪ (±1.78%)
P99 55.47ms 54.47ms -1.81% ⚪ (±21.86%)
Mgas/s 1237.71 1239.88 +0.18% ⚪ (±0.43%)
Wall Clock 25.58s 25.54s -0.15% ⚪ (±0.88%)
Persist Wait 0.03ms 0.03ms +0.21% ⚪ (±2.77%)

500 blocks, 200 warmup, wait time: 500ms

Wait Time Breakdown

Persistence Wait

Metric fix/bench-newpayload-latency fix/bench-newpayload-latency
Mean 0.03ms 0.03ms
P50 0.03ms 0.03ms
P95 0.04ms 0.04ms

Trie Cache Update Wait

Metric fix/bench-newpayload-latency fix/bench-newpayload-latency
Mean 0.00ms 0.00ms
P50 0.00ms 0.00ms
P95 0.00ms 0.00ms

Execution Cache Update Wait

Metric fix/bench-newpayload-latency fix/bench-newpayload-latency
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

@decofe
Copy link
Copy Markdown
Member

decofe commented Apr 17, 2026

cc @mediocregopher

❌ Benchmark failed while unknown step. View logs

@decofe
Copy link
Copy Markdown
Member

decofe commented Apr 17, 2026

cc @mediocregopher

✅ Benchmark complete! View job

Benchmark Results

Metric fix/bench-newpayload-latency fix/bench-newpayload-latency Change
Mean 40.54ms 40.20ms -0.82% ⚪ (±7.06%)
StdDev 35.48ms 35.93ms
P50 29.38ms 28.71ms -2.26% ⚪ (±3.46%)
P90 80.43ms 79.91ms -0.65% ⚪ (±15.96%)
P99 197.89ms 198.43ms +0.27% ⚪ (±14.03%)
Mgas/s 942.53 948.35 +0.62% ⚪ (±2.72%)
Wall Clock 41.69s 41.27s -1.01% ⚪ (±6.87%)
Persist Wait 8.42ms 8.56ms +1.66% ⚪ (±32.15%)

500 blocks, 200 warmup, wait time: 50ms

Wait Time Breakdown

Persistence Wait

Metric fix/bench-newpayload-latency fix/bench-newpayload-latency
Mean 8.42ms 8.56ms
P50 0.03ms 0.03ms
P95 80.20ms 85.71ms

Trie Cache Update Wait

Metric fix/bench-newpayload-latency fix/bench-newpayload-latency
Mean 0.12ms 0.16ms
P50 0.00ms 0.00ms
P95 0.40ms 0.72ms

Execution Cache Update Wait

Metric fix/bench-newpayload-latency fix/bench-newpayload-latency
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
Copy link
Copy Markdown
Member Author

Superseded by #23646, which reverts #23541 and #23578 instead.

@github-project-automation github-project-automation Bot moved this from Backlog to Done in Reth Tracker Apr 20, 2026
@emmajam emmajam deleted the fix/bench-newpayload-latency branch May 1, 2026 10:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

C-benchmark A change that impacts how or what we benchmark

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants