Viewing run older run · latest of 12

New gas proposal

Worst-case-across-clients gas costs derived from the runtime fits, compared against the current Osaka cost table. Rendered from the generated proposal report; see the runtime and glue pages for the underlying per-fit detail.

Generated 2026-06-12 14:35:04Z · fork osaka · anchor_rate 100 Mgas/s

Summary: 12 parameters proposed — 11 increased, 1 decreased, 0 new, 0 unresolved · 4 warnings · 0 poor-fit selections

Proposed gas parameters

Gas paramCurrent gasProposed gasΔ%
COLD_STORAGE_ACCESS 2100 3358 +60%
COLD_STORAGE_WRITE 5000 103774 +1975%
COLD_ACCOUNT_NOCODE_ACCESS 2600 2480 -5%
COLD_ACCOUNT_CODE_ACCESS 2600 8828 +240%
COLD_ACCOUNT_NOCODE_WRITE 9300 167318 +1699%
COLD_ACCOUNT_CODE_WRITE 9300 167318 +1699%
WARM_ACCESS 100 124 +24%
STORAGE_WRITE 2800 100416 +3486%
ACCOUNT_WRITE 6700 164838 +2360%
REFUND_STORAGE_CLEAR 4800 99624 +1976%
TX_ACCESS_LIST_STORAGE_KEY 1900 3358 +77%
TX_ACCESS_LIST_ADDRESS 2400 8828 +268%

Client comparison

Worst client vs. second-worst client per gas parameter. The Ratio column is worst gas / second-worst gas — values close to 1× mean the worst case sits next to the rest of the field, while large ratios flag the worst client as an outlier.

Gas param Worst client Worst gas Second-worst client Second-worst gas Ratio
COLD_STORAGE_ACCESS ethrex 3358 nethermind 2553 1.32×
COLD_STORAGE_WRITE erigon 103774 ethrex 33394 3.11×
COLD_ACCOUNT_NOCODE_ACCESS ethrex 2480 erigon 1187 2.09×
COLD_ACCOUNT_CODE_ACCESS erigon 8828 reth 3755 2.35×
COLD_ACCOUNT_NOCODE_WRITE erigon 167318 reth 14729 11.36×
COLD_ACCOUNT_CODE_WRITE erigon 167318 reth 15145 11.05×
WARM_ACCESS besu 124 nethermind 73 1.70×

Per-client proposed gas for each parameter. Cells are colored by log2(proposed / current) — red means the proposal is more expensive than the current gas cost, green means cheaper, and white sits at unchanged. Annotations show the absolute proposed gas value; blank rows are parameters with no prior baseline (see warnings below).

besuerigonethrexnethermindreth
COLD_STORAGE_ACCESS1,7246263,3582,553148
COLD_STORAGE_WRITE10,220103,77433,3947,10814,771
COLD_ACCOUNT_NOCODE_ACCESS1,1701,1872,480476114
COLD_ACCOUNT_CODE_ACCESS2,9918,8282,6072,4973,755
COLD_ACCOUNT_NOCODE_WRITE7,262167,3183,4535,92914,729
COLD_ACCOUNT_CODE_WRITE9,915167,3183,6165,92915,145
WARM_ACCESS124518735

Worst-case provenance per gas param

One collapsible block per gas parameter showing every per-client candidate that the worst-case selector saw. Rows are model combos (the source regression's test_name, target_opcode, model_coef_name, and any model_by factors — components constant within a parameter are dropped from the label). Cells carry each candidate's proposed gas; the cell the per-client selector picked is outlined in black. Colors are log2(proposed / current) against that parameter's baseline on a per-parameter symmetric scale.

COLD_STORAGE_ACCESS — 4 combos × 5 clients
besuerigonethrexnethermindreth
test_sload_bloated · SLOAD · slots=False713626757362131
test_sload_bloated · SLOAD · slots=True1,5875833,3582,468144
test_sstore_bloated · SSTORE · slots=False724622735348132
test_sstore_bloated · SSTORE · slots=True1,7245703,3092,553148
COLD_STORAGE_WRITE — 2 combos × 5 clients
besuerigonethrexnethermindreth
slots=False10,506103,77433,3947,108934
slots=True10,22056,55526,5225,54014,771
COLD_ACCOUNT_NOCODE_ACCESS — 13 combos × 5 clients
Label Combo
M1 test_name=test_account_access / target_opcode=BALANCE / model_coef_name=target_coef / param_account_mode=AccountMode.EXISTING_EOA / param_opcode=BALANCE
M2 test_name=test_account_access / target_opcode=BALANCE / model_coef_name=target_coef / param_account_mode=AccountMode.NON_EXISTING_ACCOUNT / param_opcode=BALANCE
M3 test_name=test_account_access / target_opcode=CALL / model_coef_name=target_coef / param_account_mode=AccountMode.EXISTING_EOA / param_opcode=CALL
M4 test_name=test_account_access / target_opcode=CALL / model_coef_name=target_coef / param_account_mode=AccountMode.NON_EXISTING_ACCOUNT / param_opcode=CALL
M5 test_name=test_account_access / target_opcode=CALLCODE / model_coef_name=target_coef / param_account_mode=AccountMode.EXISTING_EOA / param_opcode=CALLCODE
M6 test_name=test_account_access / target_opcode=CALLCODE / model_coef_name=target_coef / param_account_mode=AccountMode.NON_EXISTING_ACCOUNT / param_opcode=CALLCODE
M7 test_name=test_account_access / target_opcode=DELEGATECALL / model_coef_name=target_coef / param_account_mode=AccountMode.EXISTING_EOA / param_opcode=DELEGATECALL
M8 test_name=test_account_access / target_opcode=DELEGATECALL / model_coef_name=target_coef / param_account_mode=AccountMode.NON_EXISTING_ACCOUNT / param_opcode=DELEGATECALL
M9 test_name=test_account_access / target_opcode=EXTCODECOPY / model_coef_name=target_coef / param_account_mode=AccountMode.NON_EXISTING_ACCOUNT / param_opcode=EXTCODECOPY
M10 test_name=test_account_access / target_opcode=EXTCODEHASH / model_coef_name=target_coef / param_account_mode=AccountMode.NON_EXISTING_ACCOUNT / param_opcode=EXTCODEHASH
M11 test_name=test_account_access / target_opcode=EXTCODESIZE / model_coef_name=target_coef / param_account_mode=AccountMode.NON_EXISTING_ACCOUNT / param_opcode=EXTCODESIZE
M12 test_name=test_account_access / target_opcode=STATICCALL / model_coef_name=target_coef / param_account_mode=AccountMode.EXISTING_EOA / param_opcode=STATICCALL
M13 test_name=test_account_access / target_opcode=STATICCALL / model_coef_name=target_coef / param_account_mode=AccountMode.NON_EXISTING_ACCOUNT / param_opcode=STATICCALL
besuerigonethrexnethermindreth
M19469902,425370110
M295290726435393
M31,1021,1042,447461114
M41,1681,00826646997
M51,0231,0292,436476113
M61,03894926746597
M79811,0142,480469112
M81,05695626946096
M94473372
M1092786326438592
M1193888126338493
M121,0751,0322,476468113
M131,1701,18726646798
COLD_ACCOUNT_CODE_ACCESS — 16 combos × 5 clients
Label Combo
M1 test_name=test_account_access / target_opcode=BALANCE / model_coef_name=target_coef / param_account_mode=AccountMode.EXISTING_CONTRACT / param_opcode=BALANCE
M2 test_name=test_account_access / target_opcode=BALANCE / model_coef_name=target_coef / param_account_mode=AccountMode.NON_EXISTING_ACCOUNT / param_opcode=BALANCE
M3 test_name=test_account_access / target_opcode=CALL / model_coef_name=target_coef / param_account_mode=AccountMode.EXISTING_CONTRACT / param_opcode=CALL
M4 test_name=test_account_access / target_opcode=CALL / model_coef_name=target_coef / param_account_mode=AccountMode.NON_EXISTING_ACCOUNT / param_opcode=CALL
M5 test_name=test_account_access / target_opcode=CALLCODE / model_coef_name=target_coef / param_account_mode=AccountMode.EXISTING_CONTRACT / param_opcode=CALLCODE
M6 test_name=test_account_access / target_opcode=CALLCODE / model_coef_name=target_coef / param_account_mode=AccountMode.NON_EXISTING_ACCOUNT / param_opcode=CALLCODE
M7 test_name=test_account_access / target_opcode=DELEGATECALL / model_coef_name=target_coef / param_account_mode=AccountMode.EXISTING_CONTRACT / param_opcode=DELEGATECALL
M8 test_name=test_account_access / target_opcode=DELEGATECALL / model_coef_name=target_coef / param_account_mode=AccountMode.NON_EXISTING_ACCOUNT / param_opcode=DELEGATECALL
M9 test_name=test_account_access / target_opcode=EXTCODECOPY / model_coef_name=target_coef / param_account_mode=AccountMode.EXISTING_CONTRACT / param_opcode=EXTCODECOPY
M10 test_name=test_account_access / target_opcode=EXTCODECOPY / model_coef_name=target_coef / param_account_mode=AccountMode.NON_EXISTING_ACCOUNT / param_opcode=EXTCODECOPY
M11 test_name=test_account_access / target_opcode=EXTCODEHASH / model_coef_name=target_coef / param_account_mode=AccountMode.EXISTING_CONTRACT / param_opcode=EXTCODEHASH
M12 test_name=test_account_access / target_opcode=EXTCODEHASH / model_coef_name=target_coef / param_account_mode=AccountMode.NON_EXISTING_ACCOUNT / param_opcode=EXTCODEHASH
M13 test_name=test_account_access / target_opcode=EXTCODESIZE / model_coef_name=target_coef / param_account_mode=AccountMode.EXISTING_CONTRACT / param_opcode=EXTCODESIZE
M14 test_name=test_account_access / target_opcode=EXTCODESIZE / model_coef_name=target_coef / param_account_mode=AccountMode.NON_EXISTING_ACCOUNT / param_opcode=EXTCODESIZE
M15 test_name=test_account_access / target_opcode=STATICCALL / model_coef_name=target_coef / param_account_mode=AccountMode.EXISTING_CONTRACT / param_opcode=STATICCALL
M16 test_name=test_account_access / target_opcode=STATICCALL / model_coef_name=target_coef / param_account_mode=AccountMode.NON_EXISTING_ACCOUNT / param_opcode=STATICCALL
besuerigonethrexnethermindreth
M12,5783,6762,4922,4433,109
M295290726435393
M32,9918,8092,6052,4433,529
M41,1681,00826646997
M52,8108,8282,5792,4702,875
M61,03894926746597
M72,9508,7812,5812,4973,755
M81,05695626946096
M918932171398
M104473372
M112,6353,6322,4972,4163,500
M1292786326438592
M132,6458,6542,5582,4003,600
M1493888126338493
M152,9498,8182,6072,4903,500
M161,1701,18726646798
COLD_ACCOUNT_NOCODE_WRITE — 4 combos × 5 clients
Label Combo
M1 test_name=test_account_access / target_opcode=CALL / model_coef_name=target_coef / param_account_mode=AccountMode.EXISTING_EOA / param_opcode=CALL
M2 test_name=test_account_access / target_opcode=CALL / model_coef_name=target_coef / param_account_mode=AccountMode.NON_EXISTING_ACCOUNT / param_opcode=CALL
M3 test_name=test_account_access / target_opcode=CALLCODE / model_coef_name=target_coef / param_account_mode=AccountMode.EXISTING_EOA / param_opcode=CALLCODE
M4 test_name=test_account_access / target_opcode=CALLCODE / model_coef_name=target_coef / param_account_mode=AccountMode.NON_EXISTING_ACCOUNT / param_opcode=CALLCODE
besuerigonethrexnethermindreth
M17,26223,2423,4533,29714,729
M25,773167,3181,7065,929677
M31,3768172,420536119
M43451843325024
COLD_ACCOUNT_CODE_WRITE — 4 combos × 5 clients
Label Combo
M1 test_name=test_account_access / target_opcode=CALL / model_coef_name=target_coef / param_account_mode=AccountMode.EXISTING_CONTRACT / param_opcode=CALL
M2 test_name=test_account_access / target_opcode=CALL / model_coef_name=target_coef / param_account_mode=AccountMode.NON_EXISTING_ACCOUNT / param_opcode=CALL
M3 test_name=test_account_access / target_opcode=CALLCODE / model_coef_name=target_coef / param_account_mode=AccountMode.EXISTING_CONTRACT / param_opcode=CALLCODE
M4 test_name=test_account_access / target_opcode=CALLCODE / model_coef_name=target_coef / param_account_mode=AccountMode.NON_EXISTING_ACCOUNT / param_opcode=CALLCODE
besuerigonethrexnethermindreth
M19,915114,4123,6165,66515,145
M25,773167,3181,7065,929677
M32,2448,2892,4402,7901,321
M43451843325024
WARM_ACCESS — 8 combos × 5 clients
Label Combo
M1 test_name=test_ext_account_query_warm / target_opcode=BALANCE / model_coef_name=target_coef / param_opcode=BALANCE
M2 test_name=test_ext_account_query_warm / target_opcode=CALL / model_coef_name=target_coef / param_opcode=CALL
M3 test_name=test_ext_account_query_warm / target_opcode=CALLCODE / model_coef_name=target_coef / param_opcode=CALLCODE
M4 test_name=test_ext_account_query_warm / target_opcode=DELEGATECALL / model_coef_name=target_coef / param_opcode=DELEGATECALL
M5 test_name=test_ext_account_query_warm / target_opcode=EXTCODEHASH / model_coef_name=target_coef / param_opcode=EXTCODEHASH
M6 test_name=test_ext_account_query_warm / target_opcode=EXTCODESIZE / model_coef_name=target_coef / param_opcode=EXTCODESIZE
M7 test_name=test_ext_account_query_warm / target_opcode=STATICCALL / model_coef_name=target_coef / param_opcode=STATICCALL
M8 test_name=test_storage_sload_same_key_benchmark / target_opcode=SLOAD / model_coef_name=target_coef
besuerigonethrexnethermindreth
M11762171
M2124518675
M3124308705
M4121298675
M516271291
M61742221
M7120518735
M81452191

Warnings

Missing parameters

None.

Incomplete client coverage

Clients with no estimations at all: geth. These configured clients produced no fits for any gas parameter — check that the runtimes CSV contains their rows and that the fixture-name conventions match. Inspect the evm_gasfit warnings in meta.json for the cause.

Missing glue adjustments

Non-priced opcodes correlated with the target opcount — 1 test affected

The target coefficient was left unadjusted for these. Consider adding them to the glue model or re-designing the test to isolate the target opcode.

Test name Non-priced opcodes
test_account_access CLZ
Priced glue opcodes with a poor fit — 30 (glue_opcode, client) fits skipped

p_value >= glue_contribution_p_value_threshold (0.05) or rsquared < glue_contribution_rsquared_threshold (0.5) — the contribution of these (glue_opcode, client) fits was skipped when computing the glue adjustment, so the listed gas params carry a target coefficient that is not net of this glue opcode's runtime on the affected clients. See glue_opcodes_autogenerated_report.md for per-fit metrics.

Glue opcode Affected clients Affected gas params
AND ethrex (R²), reth (R²) COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE
CALLDATALOAD besu (both), erigon (R²), ethrex (R²), geth (R²), nethermind (R²), reth (R²) COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE, COLD_ACCOUNT_NOCODE_ACCESS, COLD_ACCOUNT_NOCODE_WRITE, COLD_STORAGE_ACCESS, COLD_STORAGE_WRITE
CALLDATASIZE nethermind (p-value) COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE
DUP nethermind (p-value) COLD_STORAGE_ACCESS, COLD_STORAGE_WRITE
EXP nethermind (both) COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE
GAS nethermind (p-value) COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE, COLD_ACCOUNT_NOCODE_ACCESS, COLD_ACCOUNT_NOCODE_WRITE, COLD_STORAGE_ACCESS, WARM_ACCESS
GT nethermind (R²) COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE, COLD_ACCOUNT_NOCODE_ACCESS, COLD_ACCOUNT_NOCODE_WRITE, COLD_STORAGE_ACCESS
ISZERO erigon (R²), nethermind (R²) COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE
JUMPI nethermind (R²) COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE, COLD_ACCOUNT_NOCODE_ACCESS, COLD_ACCOUNT_NOCODE_WRITE, COLD_STORAGE_ACCESS, COLD_STORAGE_WRITE
KECCAK256 besu (R²), erigon (R²), ethrex (R²), geth (R²), nethermind (both), reth (both) COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE
LT erigon (R²), nethermind (R²) COLD_STORAGE_ACCESS, COLD_STORAGE_WRITE
MSTORE reth (R²) COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE, COLD_ACCOUNT_NOCODE_ACCESS, COLD_ACCOUNT_NOCODE_WRITE
PUSH0 nethermind (p-value)
RETURNDATASIZE nethermind (R²)
SELFBALANCE besu (R²)
STATICCALL geth (p-value)
SWAP nethermind (R²) COLD_STORAGE_ACCESS, COLD_STORAGE_WRITE

Other

Poor-fit selections

Rows where the winning fit's p-value exceeded modeling.poor_fit_p_value_threshold (0.05) or its R² fell below modeling.poor_fit_rsquared_threshold (0.5). The failing threshold(s) are noted alongside each row; selections in ### Winners with poor fit still drive the proposal, while ### Other weak candidates lists losing candidates that the selector dropped in favor of a qualified alternative. See runtime_estimation_autogenerated_report.md for per-fit runtime_ms, pvalue, and rsquared metrics.

Winners with poor fit

None.

Other weak candidates

COLD_STORAGE_WRITE — 1 weak combo
Test Target opcode Coef Combo Failing clients
test_sstore_bloated SSTORE target_coef besu (R²), reth (both)
COLD_ACCOUNT_NOCODE_WRITE — 2 weak combos
Test Target opcode Coef Combo Failing clients
test_account_access CALL target_coef param_opcode=CALL besu (R²), reth (both)
test_account_access CALLCODE target_coef param_opcode=CALLCODE besu (R²)
COLD_ACCOUNT_CODE_WRITE — 3 weak combos
Test Target opcode Coef Combo Failing clients
test_account_access CALL target_coef param_account_mode=AccountMode.NON_EXISTING_ACCOUNT / param_opcode=CALL besu (R²), reth (both)
test_account_access CALLCODE target_coef param_account_mode=AccountMode.EXISTING_CONTRACT / param_opcode=CALLCODE reth (R²)
test_account_access CALLCODE target_coef param_account_mode=AccountMode.NON_EXISTING_ACCOUNT / param_opcode=CALLCODE besu (R²)