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:32:24Z · 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 3472 +65%
COLD_STORAGE_WRITE 5000 33568 +571%
COLD_ACCOUNT_NOCODE_ACCESS 2600 2714 +4%
COLD_ACCOUNT_CODE_ACCESS 2600 8657 +233%
COLD_ACCOUNT_NOCODE_WRITE 9300 27182 +192%
COLD_ACCOUNT_CODE_WRITE 9300 27182 +192%
WARM_ACCESS 100 58 -42%
STORAGE_WRITE 2800 30096 +975%
ACCOUNT_WRITE 6700 24468 +265%
REFUND_STORAGE_CLEAR 4800 32226 +571%
TX_ACCESS_LIST_STORAGE_KEY 1900 3472 +83%
TX_ACCESS_LIST_ADDRESS 2400 8657 +261%

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 3472 nethermind 2690 1.29×
COLD_STORAGE_WRITE ethrex 33568 reth 14708 2.28×
COLD_ACCOUNT_NOCODE_ACCESS geth 2714 ethrex 2472 1.10×
COLD_ACCOUNT_CODE_ACCESS erigon 8657 reth 3745 2.31×
COLD_ACCOUNT_NOCODE_WRITE erigon 27182 reth 14587 1.86×
COLD_ACCOUNT_CODE_WRITE erigon 27182 reth 15148 1.79×
WARM_ACCESS erigon 58 besu 55 1.05×

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).

besuerigonethrexgethnethermindreth
COLD_STORAGE_ACCESS1,7196153,4722,6502,690151
COLD_STORAGE_WRITE8,91612,30033,56813,8915,84014,708
COLD_ACCOUNT_NOCODE_ACCESS1,2801,1472,4722,714430114
COLD_ACCOUNT_CODE_ACCESS2,9378,6572,5963,0712,5623,745
COLD_ACCOUNT_NOCODE_WRITE6,29727,1823,5055,8026,37014,587
COLD_ACCOUNT_CODE_WRITE9,26227,1823,6759,5536,37015,148
WARM_ACCESS5558819236

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 × 6 clients
besuerigonethrexgethnethermindreth
test_sload_bloated · SLOAD · slots=False7506157972,650373128
test_sload_bloated · SLOAD · slots=True1,6545653,4722,5152,620147
test_sstore_bloated · SSTORE · slots=False9126057752,471358130
test_sstore_bloated · SSTORE · slots=True1,7195693,4222,3902,690151
COLD_STORAGE_WRITE — 2 combos × 6 clients
besuerigonethrexgethnethermindreth
slots=False15,54812,30033,56813,8915,4361,031
slots=True8,9167,88226,56261,2885,84014,708
COLD_ACCOUNT_NOCODE_ACCESS — 13 combos × 6 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
besuerigonethrexgethnethermindreth
M11,0439532,4241,137374110
M21,0468822662,44437593
M31,1871,0792,4451,153427114
M41,2809822692,46842698
M51,1499952,4281,183409113
M61,1579262692,54640197
M71,1479792,4571,163421114
M81,1619232722,50541696
M9387335362
M101,0248352652,67239791
M111,0188582652,71439993
M121,2191,0072,4721,166430114
M131,2641,1472712,48042398
COLD_ACCOUNT_CODE_ACCESS — 16 combos × 6 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
besuerigonethrexgethnethermindreth
M12,6653,4952,4892,7962,5252,955
M21,0468822662,44437593
M32,9368,6252,5953,0712,5533,578
M41,2809822692,46842698
M52,7878,6062,5962,7742,5192,883
M61,1579262692,54640197
M72,9378,6202,5932,8162,5623,745
M81,1619232722,50541696
M91803118741399
M10387335362
M112,7183,4632,5092,8142,5423,556
M121,0248352652,67239791
M132,7298,4742,5532,8952,5123,445
M141,0188582652,71439993
M152,9278,6572,5882,9412,5493,595
M161,2641,1472712,48042398
COLD_ACCOUNT_NOCODE_WRITE — 4 combos × 6 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
besuerigonethrexgethnethermindreth
M16,2976,5343,5055,8023,44314,587
M29,74727,1821,69411,2196,370773
M31,2727762,4091,113436121
M42731753293616424
COLD_ACCOUNT_CODE_WRITE — 4 combos × 6 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
besuerigonethrexgethnethermindreth
M19,26225,8183,6759,5536,02315,148
M29,74727,1821,69411,2196,370773
M32,6068,3442,4403,4762,8981,353
M42731753293616424
WARM_ACCESS — 8 combos × 6 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
besuerigonethrexgethnethermindreth
M117524141
M25448814406
M35527819305
M45126716385
M5162725231
M615524191
M75158719395
M811425161

Warnings

Missing parameters

None.

Incomplete client coverage

None.

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 — 55 (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
ADD geth (R²) COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE, COLD_ACCOUNT_NOCODE_ACCESS, COLD_ACCOUNT_NOCODE_WRITE, COLD_STORAGE_ACCESS, COLD_STORAGE_WRITE
AND erigon (R²), ethrex (R²), geth (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 geth (R²) COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE
DIV geth (R²) COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE
DUP geth (R²) COLD_STORAGE_ACCESS, COLD_STORAGE_WRITE
EXP erigon (R²), geth (R²), nethermind (both) COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE
GAS geth (R²) COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE, COLD_ACCOUNT_NOCODE_ACCESS, COLD_ACCOUNT_NOCODE_WRITE, COLD_STORAGE_ACCESS, WARM_ACCESS
GT besu (R²), geth (R²) COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE, COLD_ACCOUNT_NOCODE_ACCESS, COLD_ACCOUNT_NOCODE_WRITE, COLD_STORAGE_ACCESS
ISZERO erigon (R²), geth (R²) COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE
JUMP besu (R²), geth (R²) COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE, COLD_ACCOUNT_NOCODE_ACCESS, COLD_ACCOUNT_NOCODE_WRITE
JUMPDEST besu (R²), geth (R²) COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE, COLD_ACCOUNT_NOCODE_ACCESS, COLD_ACCOUNT_NOCODE_WRITE, COLD_STORAGE_ACCESS, COLD_STORAGE_WRITE
JUMPI besu (R²), geth (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 (both), geth (R²), nethermind (both), reth (both) COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE
LT besu (R²), geth (R²) COLD_STORAGE_ACCESS, COLD_STORAGE_WRITE
MLOAD geth (R²) COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE, COLD_ACCOUNT_NOCODE_ACCESS, COLD_ACCOUNT_NOCODE_WRITE, WARM_ACCESS
MSTORE geth (R²), reth (R²) COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE, COLD_ACCOUNT_NOCODE_ACCESS, COLD_ACCOUNT_NOCODE_WRITE
MSTORE8 geth (R²) COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE
MUL besu (R²), geth (R²) COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE
PC geth (R²) COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE, COLD_ACCOUNT_NOCODE_ACCESS, COLD_ACCOUNT_NOCODE_WRITE, COLD_STORAGE_ACCESS
PUSH geth (R²) COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE, COLD_ACCOUNT_NOCODE_ACCESS, COLD_ACCOUNT_NOCODE_WRITE, COLD_STORAGE_ACCESS, COLD_STORAGE_WRITE, WARM_ACCESS
PUSH0 geth (R²)
RETURNDATASIZE besu (R²), erigon (R²), geth (R²)
SELFBALANCE besu (R²), geth (R²), nethermind (R²)
STATICCALL geth (R²)
SUB geth (R²) COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE, COLD_ACCOUNT_NOCODE_ACCESS, COLD_ACCOUNT_NOCODE_WRITE, COLD_STORAGE_ACCESS
SWAP erigon (R²), geth (R²), 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 — 2 weak combos
Test Target opcode Coef Combo Failing clients
test_sstore_bloated SSTORE target_coef param_existing_slots=False besu (R²), nethermind (R²), reth (both)
test_sstore_bloated SSTORE target_coef param_existing_slots=True geth (R²)
COLD_ACCOUNT_NOCODE_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²), geth (R²), reth (both)
test_account_access CALLCODE target_coef param_account_mode=AccountMode.EXISTING_EOA / param_opcode=CALLCODE geth (R²)
test_account_access CALLCODE target_coef param_account_mode=AccountMode.NON_EXISTING_ACCOUNT / param_opcode=CALLCODE besu (R²), geth (R²), nethermind (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²), geth (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²), geth (R²), nethermind (R²)
WARM_ACCESS — 5 weak combos
Test Target opcode Coef Combo Failing clients
test_ext_account_query_warm CALL target_coef param_opcode=CALL nethermind (R²)
test_ext_account_query_warm CALLCODE target_coef param_opcode=CALLCODE nethermind (R²)
test_ext_account_query_warm DELEGATECALL target_coef param_opcode=DELEGATECALL nethermind (R²)
test_ext_account_query_warm STATICCALL target_coef param_opcode=STATICCALL nethermind (R²)
test_storage_sload_same_key_benchmark SLOAD target_coef besu (R²)