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-07-07 13:00:47Z · fork osaka · anchor_rate 100 Mgas/s

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

Proposed gas parameters

Gas paramCurrent gasProposed gasΔ%
COLD_STORAGE_ACCESS 2100 2428 +16%
COLD_STORAGE_WRITE 5000 13473 +169%
COLD_ACCOUNT_NOCODE_ACCESS 2600 2268 -13%
COLD_ACCOUNT_CODE_ACCESS 2600 2773 +7%
COLD_ACCOUNT_NOCODE_WRITE 9300 19614 +111%
COLD_ACCOUNT_CODE_WRITE 9300 19614 +111%
WARM_ACCESS 100 49 -51%
STORAGE_WRITE 2800 11045 +294%
ACCOUNT_WRITE 6700 17346 +159%
REFUND_STORAGE_CLEAR 4800 12935 +169%
TX_ACCESS_LIST_STORAGE_KEY 1900 2428 +28%
TX_ACCESS_LIST_ADDRESS 2400 2773 +16%

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 2428 besu 1518 1.60×
COLD_STORAGE_WRITE geth 13473 erigon 12143 1.11×
COLD_ACCOUNT_NOCODE_ACCESS geth 2268 besu 1579 1.44×
COLD_ACCOUNT_CODE_ACCESS besu 2773 erigon 2446 1.13×
COLD_ACCOUNT_NOCODE_WRITE erigon 19614 geth 9919 1.98×
COLD_ACCOUNT_CODE_WRITE erigon 19614 geth 9919 1.98×
WARM_ACCESS besu 49 erigon 49 1.00×

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,5186731,3952,428920144
COLD_STORAGE_WRITE6,68712,1432,44913,4735,5473,907
COLD_ACCOUNT_NOCODE_ACCESS1,5791,0987272,268459110
COLD_ACCOUNT_CODE_ACCESS2,7732,4467912,3611,494413
COLD_ACCOUNT_NOCODE_WRITE7,03619,6142,2129,9194,7272,517
COLD_ACCOUNT_CODE_WRITE8,84519,6142,3049,9194,7272,776
WARM_ACCESS49491119396

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=False7686739012,428345126
test_sload_bloated · SLOAD · slots=True1,4616601,3202,382899142
test_sstore_bloated · SSTORE · slots=False8286649492,425347128
test_sstore_bloated · SSTORE · slots=True1,5186621,3952,355920144
COLD_STORAGE_WRITE — 2 combos × 6 clients
besuerigonethrexgethnethermindreth
slots=False14,19901,89813,4735,5473,907
slots=True6,68712,1432,4499,3173,6812,362
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,2939527221,068416105
M21,3428502012,15939072
M31,5471,0787271,088459108
M41,5799692062,20343176
M51,4719737271,111433108
M61,4829002042,25841975
M71,4489777251,104446109
M81,4899002052,23844376
M9438436323
M101,3148182002,17439572
M111,3258371972,16940770
M121,5211,0047251,109449110
M131,5661,0982032,26843677
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,5462,4467712,3061,306399
M21,3428502012,15939072
M32,7732,9107862,3571,494407
M41,5799692062,20343176
M52,7532,8037872,3611,472405
M61,4829002042,25841975
M72,7262,8107912,3541,364408
M81,4899002052,23844376
M918633227613111
M10438436323
M112,5352,4077782,3121,370404
M121,3148182002,17439572
M132,5532,7727762,3081,368398
M141,3258371972,16940770
M152,7722,8007872,3511,471413
M161,5661,0982032,26843677
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
M17,0366,1242,2125,9532,8582,298
M215,97819,6141,2349,9194,7272,517
M32,56576701,380446158
M4545163281,04217333
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
M18,84518,0802,3049,7964,3472,776
M215,97819,6141,2349,9194,7272,517
M33,1392,37802,5241,567497
M4545163281,04217333
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
M117623142
M249491114376
M359281119246
M454261117396
M5173025242
M617523191
M745451119366
M820535161

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 — 27 (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 nethermind (R²) COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE, COLD_ACCOUNT_NOCODE_ACCESS, COLD_ACCOUNT_NOCODE_WRITE, COLD_STORAGE_ACCESS, COLD_STORAGE_WRITE
CALLDATALOAD besu (both), erigon (both), 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 reth (R²) COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE
DUP reth (R²) COLD_STORAGE_ACCESS, COLD_STORAGE_WRITE
EXP nethermind (both) COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE
GAS reth (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²) COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE, COLD_ACCOUNT_NOCODE_ACCESS, COLD_ACCOUNT_NOCODE_WRITE, COLD_STORAGE_ACCESS
KECCAK256 besu (R²), erigon (R²), ethrex (both), geth (R²), nethermind (both), reth (both) COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE
LT besu (R²) COLD_STORAGE_ACCESS, COLD_STORAGE_WRITE
MLOAD reth (R²) COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE, COLD_ACCOUNT_NOCODE_ACCESS, COLD_ACCOUNT_NOCODE_WRITE, WARM_ACCESS
MSTORE reth (R²) COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE, COLD_ACCOUNT_NOCODE_ACCESS, COLD_ACCOUNT_NOCODE_WRITE
PC reth (R²) COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE, COLD_ACCOUNT_NOCODE_ACCESS, COLD_ACCOUNT_NOCODE_WRITE, COLD_STORAGE_ACCESS
PUSH reth (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 reth (R²)
STATICCALL reth (R²)
SWAP besu (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_WRITE — 1 weak combo
Test Target opcode Coef Combo Failing clients
test_sstore_bloated SSTORE target_coef besu (R²), erigon (both), ethrex (R²)
COLD_ACCOUNT_NOCODE_ACCESS — 1 weak combo
Test Target opcode Coef Combo Failing clients
test_account_access EXTCODECOPY target_coef besu (R²), ethrex (R²)
COLD_ACCOUNT_CODE_ACCESS — 7 weak combos
Test Target opcode Coef Combo Failing clients
test_account_access CALL target_coef param_account_mode=AccountMode.EXISTING_CONTRACT / param_opcode=CALL erigon (R²)
test_account_access CALLCODE target_coef param_account_mode=AccountMode.EXISTING_CONTRACT / param_opcode=CALLCODE erigon (R²)
test_account_access DELEGATECALL target_coef param_account_mode=AccountMode.EXISTING_CONTRACT / param_opcode=DELEGATECALL erigon (R²)
test_account_access EXTCODECOPY target_coef param_account_mode=AccountMode.EXISTING_CONTRACT / param_opcode=EXTCODECOPY besu (R²)
test_account_access EXTCODECOPY target_coef param_account_mode=AccountMode.NON_EXISTING_ACCOUNT / param_opcode=EXTCODECOPY besu (R²), ethrex (R²)
test_account_access EXTCODESIZE target_coef param_account_mode=AccountMode.EXISTING_CONTRACT / param_opcode=EXTCODESIZE erigon (R²)
test_account_access STATICCALL target_coef param_account_mode=AccountMode.EXISTING_CONTRACT / param_opcode=STATICCALL erigon (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²), ethrex (R²)
test_account_access CALLCODE target_coef param_account_mode=AccountMode.EXISTING_EOA / param_opcode=CALLCODE ethrex (both)
test_account_access CALLCODE target_coef param_account_mode=AccountMode.NON_EXISTING_ACCOUNT / param_opcode=CALLCODE besu (R²), ethrex (R²), reth (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²), ethrex (R²)
test_account_access CALLCODE target_coef param_account_mode=AccountMode.EXISTING_CONTRACT / param_opcode=CALLCODE erigon (R²), ethrex (both)
test_account_access CALLCODE target_coef param_account_mode=AccountMode.NON_EXISTING_ACCOUNT / param_opcode=CALLCODE besu (R²), ethrex (R²), reth (R²)
WARM_ACCESS — 6 weak combos
Test Target opcode Coef Combo Failing clients
test_ext_account_query_warm BALANCE target_coef param_opcode=BALANCE besu (R²), ethrex (R²)
test_ext_account_query_warm CALLCODE target_coef param_opcode=CALLCODE besu (R²)
test_ext_account_query_warm DELEGATECALL target_coef param_opcode=DELEGATECALL besu (R²)
test_ext_account_query_warm EXTCODEHASH target_coef param_opcode=EXTCODEHASH besu (R²), ethrex (R²)
test_ext_account_query_warm EXTCODESIZE target_coef param_opcode=EXTCODESIZE besu (R²), ethrex (R²)
test_storage_sload_same_key_benchmark SLOAD target_coef besu (R²)