Skip to content

perf(engine): always populate execution cache on miss#23389

Draft
shekhirin wants to merge 5 commits intomainfrom
alexey/execution-cache-always-populate
Draft

perf(engine): always populate execution cache on miss#23389
shekhirin wants to merge 5 commits intomainfrom
alexey/execution-cache-always-populate

Conversation

@shekhirin
Copy link
Copy Markdown
Member

No description provided.

@shekhirin
Copy link
Copy Markdown
Member Author

derek bench

@decofe
Copy link
Copy Markdown
Member

decofe commented Apr 8, 2026

cc @shekhirin

✅ Benchmark complete! View job

Benchmark Results

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

Metric main alexey/execution-cache-always-populate Change
Mean 32.85ms 33.73ms +2.68% ❌ (±2.54%)
StdDev 23.80ms 23.90ms
P50 27.66ms 28.50ms +3.03% ❌ (±2.13%)
P90 49.72ms 52.74ms +6.08% ❌ (±5.15%)
P99 155.27ms 134.18ms -13.59% ⚪ (±27.05%)
Mgas/s 1015.19 993.71 -2.12% ❌ (±1.18%)
Wall Clock 33.87s 34.82s +2.80% ❌ (±2.51%)

500 blocks, 100 warmup

Wait Time Breakdown

Persistence Wait

Metric main alexey/execution-cache-always-populate
Mean 28.29ms 27.28ms
P50 0.03ms 0.03ms
P95 264.32ms 268.24ms

Trie Cache Update Wait

Metric main alexey/execution-cache-always-populate
Mean 0.33ms 0.36ms
P50 0.00ms 0.00ms
P95 1.71ms 1.78ms

Execution Cache Update Wait

Metric main alexey/execution-cache-always-populate
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

@shekhirin
Copy link
Copy Markdown
Member Author

derek bench warmup=500 blocks=2000

@shekhirin
Copy link
Copy Markdown
Member Author

derek bench blocks=big

@decofe
Copy link
Copy Markdown
Member

decofe commented Apr 8, 2026

cc @shekhirin

❌ Benchmark failed while downloading snapshot. View logs

@decofe
Copy link
Copy Markdown
Member

decofe commented Apr 8, 2026

Invalid bench command

Invalid value(s): blocks=big (must be a positive integer)

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

@shekhirin
Copy link
Copy Markdown
Member Author

derek bench big-blocks

@decofe
Copy link
Copy Markdown
Member

decofe commented Apr 8, 2026

cc @shekhirin

✅ Benchmark complete! View job

Benchmark Results

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

Metric main alexey/execution-cache-always-populate Change
Mean 715.77ms 708.63ms -1.00% ⚪ (±1.22%)
StdDev 149.43ms 146.87ms
P50 685.96ms 678.89ms -1.03% ⚪ (±1.58%)
P90 901.27ms 890.35ms -1.21% ⚪ (±3.09%)
P99 1242.35ms 1255.97ms +1.10% ⚪ (±9.46%)
Mgas/s 1477.79 1490.97 +0.89% ⚪ (±1.09%)
Wall Clock 745.59s 738.07s -1.01% ⚪ (±1.58%)

500 big blocks, 100 warmup

Wait Time Breakdown

Persistence Wait

Metric main alexey/execution-cache-always-populate
Mean 1.69ms 1.84ms
P50 0.08ms 0.08ms
P95 0.11ms 0.11ms

Trie Cache Update Wait

Metric main alexey/execution-cache-always-populate
Mean 0.02ms 0.00ms
P50 0.00ms 0.00ms
P95 0.00ms 0.00ms

Execution Cache Update Wait

Metric main alexey/execution-cache-always-populate
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

@shekhirin
Copy link
Copy Markdown
Member Author

derek bench warmup=500 blocks=2000

@decofe
Copy link
Copy Markdown
Member

decofe commented Apr 8, 2026

cc @shekhirin

❌ Benchmark failed while downloading snapshot. View logs

@shekhirin
Copy link
Copy Markdown
Member Author

derek bench warmup=500 blocks=2000

@decofe
Copy link
Copy Markdown
Member

decofe commented Apr 8, 2026

cc @shekhirin

❌ Benchmark failed while downloading snapshot. View logs

@shekhirin
Copy link
Copy Markdown
Member Author

derek bench warmup=500 blocks=2000

@decofe
Copy link
Copy Markdown
Member

decofe commented Apr 8, 2026

cc @shekhirin

✅ Benchmark complete! View job

Benchmark Results

Metric main alexey/execution-cache-always-populate Change
Mean 28.29ms 28.55ms +0.93% ❌ (±0.90%)
StdDev 14.64ms 14.51ms
P50 25.80ms 26.10ms +1.14% ⚪ (±1.33%)
P90 44.69ms 45.35ms +1.49% ⚪ (±1.78%)
P99 79.30ms 78.07ms -1.55% ⚪ (±9.79%)
Mgas/s 1087.92 1078.00 -0.91% ❌ (±0.53%)
Wall Clock 117.05s 118.00s +0.81% ⚪ (±0.88%)

2000 blocks, 500 warmup

Wait Time Breakdown

Persistence Wait

Metric main alexey/execution-cache-always-populate
Mean 27.51ms 27.34ms
P50 0.03ms 0.03ms
P95 248.07ms 241.36ms

Trie Cache Update Wait

Metric main alexey/execution-cache-always-populate
Mean 0.33ms 0.33ms
P50 0.00ms 0.00ms
P95 1.57ms 1.57ms

Execution Cache Update Wait

Metric main alexey/execution-cache-always-populate
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

@shekhirin
Copy link
Copy Markdown
Member Author

derek bench warmup=500 blocks=2000 samply

@decofe
Copy link
Copy Markdown
Member

decofe commented Apr 8, 2026

cc @shekhirin

✅ Benchmark complete! View job

Benchmark Results

⚠️ Feature is 1 commit behind main. Consider rebasing for accurate results.

Metric main alexey/execution-cache-always-populate Change
Mean 31.01ms 31.35ms +1.07% ❌ (±0.71%)
StdDev 14.92ms 15.08ms
P50 28.57ms 28.86ms +1.04% ⚪ (±1.23%)
P90 48.63ms 49.45ms +1.68% ❌ (±1.55%)
P99 80.48ms 81.84ms +1.69% ⚪ (±7.59%)
Mgas/s 980.84 971.16 -0.99% ❌ (±0.48%)
Wall Clock 128.39s 129.61s +0.96% ❌ (±0.69%)

2000 blocks, 500 warmup

Wait Time Breakdown

Persistence Wait

Metric main alexey/execution-cache-always-populate
Mean 28.10ms 27.68ms
P50 0.03ms 0.03ms
P95 243.39ms 242.57ms

Trie Cache Update Wait

Metric main alexey/execution-cache-always-populate
Mean 0.38ms 0.39ms
P50 0.00ms 0.00ms
P95 1.81ms 1.90ms

Execution Cache Update Wait

Metric main alexey/execution-cache-always-populate
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

@shekhirin
Copy link
Copy Markdown
Member Author

derek bench samply

@decofe
Copy link
Copy Markdown
Member

decofe commented Apr 10, 2026

cc @shekhirin

❌ Benchmark failed while building binaries. View logs

…ad builder

Co-Authored-By: Alexey Shekhirin <5773434+shekhirin@users.noreply.github.com>
Amp-Thread-ID: https://ampcode.com/threads/T-019d76a9-dc7b-710c-9c49-9ce39c07e98f
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Backlog

Development

Successfully merging this pull request may close these issues.

2 participants