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:39:12Z · fork osaka · anchor_rate 100 Mgas/s

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

Proposed gas parameters

Gas paramCurrent gasProposed gasΔ%
COLD_STORAGE_ACCESS 2100 15576 +642%
COLD_STORAGE_WRITE 5000 111466 +2129%
COLD_ACCOUNT_NOCODE_ACCESS 2600 3859 +48%
COLD_ACCOUNT_CODE_ACCESS 2600 8783 +238%
COLD_ACCOUNT_NOCODE_WRITE 9300 157189 +1590%
COLD_ACCOUNT_CODE_WRITE 9300 157189 +1590%
WARM_ACCESS 100 136 +36%
STORAGE_WRITE 2800 95890 +3325%
ACCOUNT_WRITE 6700 153330 +2189%
REFUND_STORAGE_CLEAR 4800 107008 +2129%
TX_ACCESS_LIST_STORAGE_KEY 1900 15576 +720%
TX_ACCESS_LIST_ADDRESS 2400 8783 +266%

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 geth 15576 nethermind 2385 6.53×
COLD_STORAGE_WRITE erigon 111466 geth 46339 2.41×
COLD_ACCOUNT_NOCODE_ACCESS geth 3859 besu 1933 2.00×
COLD_ACCOUNT_CODE_ACCESS erigon 8783 geth 4421 1.99×
COLD_ACCOUNT_NOCODE_WRITE erigon 157189 reth 14702 10.69×
COLD_ACCOUNT_CODE_WRITE erigon 157189 reth 15135 10.39×
WARM_ACCESS besu 136 geth 70 1.94×

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

besuerigongethnethermindreth
COLD_STORAGE_ACCESS2,03062215,5762,385150
COLD_STORAGE_WRITE10,995111,46646,3396,17914,719
COLD_ACCOUNT_NOCODE_ACCESS1,9331,1813,859609114
COLD_ACCOUNT_CODE_ACCESS3,4078,7834,4212,1033,755
COLD_ACCOUNT_NOCODE_WRITE7,656157,1895,4154,20414,702
COLD_ACCOUNT_CODE_WRITE10,035157,1899,7196,02015,135
WARM_ACCESS1365270545

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
besuerigongethnethermindreth
test_sload_bloated · SLOAD · slots=False86862215,576378130
test_sload_bloated · SLOAD · slots=True1,96557914,9062,223146
test_sstore_bloated · SSTORE · slots=False9806183,761385131
test_sstore_bloated · SSTORE · slots=True2,0305723,2282,385150
COLD_STORAGE_WRITE — 2 combos × 5 clients
besuerigongethnethermindreth
slots=False13,201111,46646,3395,534887
slots=True10,99557,11310,7216,17914,719
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
besuerigongethnethermindreth
M11,7689921,130497110
M21,0869152,94445792
M31,9171,1111,228609113
M41,2881,0113,14556998
M51,8561,0281,231601114
M61,1569553,18655897
M71,8361,0131,230595113
M81,1919553,17855397
M940782322
M101,0618633,85950892
M111,0658853,72049292
M121,9331,0301,235609114
M131,2851,1813,31555798
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
besuerigongethnethermindreth
M13,0803,6193,5661,9973,047
M21,0869152,94445792
M33,4078,7834,4212,1033,499
M41,2881,0113,14556998
M53,2348,7683,4552,0583,016
M61,1569553,18655897
M73,3338,7433,5012,0543,755
M81,1919553,17855397
M9187332861168
M1040782322
M113,1713,5863,4402,0323,554
M121,0618633,85950892
M133,1848,6084,0261,9973,504
M141,0658853,72049292
M153,3948,7624,1662,0873,572
M161,2851,1813,31555798
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
besuerigongethnethermindreth
M17,65622,9495,4153,37314,702
M29,663157,18912,2264,204650
M32,0088071,250587121
M43841811,05525025
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
besuerigongethnethermindreth
M110,035113,2079,7196,02015,135
M29,663157,18912,2264,204650
M32,8748,2994,9842,0941,322
M43841811,05525025
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
besuerigongethnethermindreth
M116614161
M21355259525
M31362970545
M41322856525
M5152720241
M614515191
M71315166515
M813622171

Warnings

Missing parameters

None.

Incomplete client coverage

Clients with no estimations at all: ethrex. 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 — 32 (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
CALLDATALOAD besu (R²), erigon (R²), geth (R²), nethermind (both), reth (R²) COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE, COLD_ACCOUNT_NOCODE_ACCESS, COLD_ACCOUNT_NOCODE_WRITE, COLD_STORAGE_ACCESS, COLD_STORAGE_WRITE
DIV nethermind (R²) COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE
EXP erigon (R²), nethermind (both) COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE
GT besu (R²), erigon (R²), nethermind (R²) COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE, COLD_ACCOUNT_NOCODE_ACCESS, COLD_ACCOUNT_NOCODE_WRITE, COLD_STORAGE_ACCESS
ISZERO nethermind (R²) COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE
JUMP besu (R²) COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE, COLD_ACCOUNT_NOCODE_ACCESS, COLD_ACCOUNT_NOCODE_WRITE
JUMPDEST besu (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²), erigon (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²), geth (R²), nethermind (both), reth (both) COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE
LT besu (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
RETURNDATASIZE erigon (R²), nethermind (R²)
SELFBALANCE besu (R²), erigon (R²)
SUB erigon (R²) COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE, COLD_ACCOUNT_NOCODE_ACCESS, COLD_ACCOUNT_NOCODE_WRITE, COLD_STORAGE_ACCESS
SWAP erigon (R²), nethermind (R²), reth (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_ACCESS — 1 weak combo
Test Target opcode Coef Combo Failing clients
test_sload_bloated SLOAD target_coef nethermind (R²)
COLD_STORAGE_WRITE — 1 weak combo
Test Target opcode Coef Combo Failing clients
test_sstore_bloated SSTORE target_coef besu (R²), nethermind (R²), reth (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 (R²)
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²)
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 (R²)
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²)