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 param | Current gas | Proposed 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).
| besu | erigon | ethrex | geth | nethermind | reth | |
|---|---|---|---|---|---|---|
| COLD_STORAGE_ACCESS | 1,719 | 615 | 3,472 | 2,650 | 2,690 | 151 |
| COLD_STORAGE_WRITE | 8,916 | 12,300 | 33,568 | 13,891 | 5,840 | 14,708 |
| COLD_ACCOUNT_NOCODE_ACCESS | 1,280 | 1,147 | 2,472 | 2,714 | 430 | 114 |
| COLD_ACCOUNT_CODE_ACCESS | 2,937 | 8,657 | 2,596 | 3,071 | 2,562 | 3,745 |
| COLD_ACCOUNT_NOCODE_WRITE | 6,297 | 27,182 | 3,505 | 5,802 | 6,370 | 14,587 |
| COLD_ACCOUNT_CODE_WRITE | 9,262 | 27,182 | 3,675 | 9,553 | 6,370 | 15,148 |
| WARM_ACCESS | 55 | 58 | 8 | 19 | 23 | 6 |
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
| besu | erigon | ethrex | geth | nethermind | reth | |
|---|---|---|---|---|---|---|
| test_sload_bloated · SLOAD · slots=False | 750 | 615 | 797 | 2,650 | 373 | 128 |
| test_sload_bloated · SLOAD · slots=True | 1,654 | 565 | 3,472 | 2,515 | 2,620 | 147 |
| test_sstore_bloated · SSTORE · slots=False | 912 | 605 | 775 | 2,471 | 358 | 130 |
| test_sstore_bloated · SSTORE · slots=True | 1,719 | 569 | 3,422 | 2,390 | 2,690 | 151 |
COLD_STORAGE_WRITE — 2 combos × 6 clients
| besu | erigon | ethrex | geth | nethermind | reth | |
|---|---|---|---|---|---|---|
| slots=False | 15,548 | 12,300 | 33,568 | 13,891 | 5,436 | 1,031 |
| slots=True | 8,916 | 7,882 | 26,562 | 61,288 | 5,840 | 14,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 |
| besu | erigon | ethrex | geth | nethermind | reth | |
|---|---|---|---|---|---|---|
| M1 | 1,043 | 953 | 2,424 | 1,137 | 374 | 110 |
| M2 | 1,046 | 882 | 266 | 2,444 | 375 | 93 |
| M3 | 1,187 | 1,079 | 2,445 | 1,153 | 427 | 114 |
| M4 | 1,280 | 982 | 269 | 2,468 | 426 | 98 |
| M5 | 1,149 | 995 | 2,428 | 1,183 | 409 | 113 |
| M6 | 1,157 | 926 | 269 | 2,546 | 401 | 97 |
| M7 | 1,147 | 979 | 2,457 | 1,163 | 421 | 114 |
| M8 | 1,161 | 923 | 272 | 2,505 | 416 | 96 |
| M9 | 38 | 7 | 3 | 35 | 36 | 2 |
| M10 | 1,024 | 835 | 265 | 2,672 | 397 | 91 |
| M11 | 1,018 | 858 | 265 | 2,714 | 399 | 93 |
| M12 | 1,219 | 1,007 | 2,472 | 1,166 | 430 | 114 |
| M13 | 1,264 | 1,147 | 271 | 2,480 | 423 | 98 |
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 |
| besu | erigon | ethrex | geth | nethermind | reth | |
|---|---|---|---|---|---|---|
| M1 | 2,665 | 3,495 | 2,489 | 2,796 | 2,525 | 2,955 |
| M2 | 1,046 | 882 | 266 | 2,444 | 375 | 93 |
| M3 | 2,936 | 8,625 | 2,595 | 3,071 | 2,553 | 3,578 |
| M4 | 1,280 | 982 | 269 | 2,468 | 426 | 98 |
| M5 | 2,787 | 8,606 | 2,596 | 2,774 | 2,519 | 2,883 |
| M6 | 1,157 | 926 | 269 | 2,546 | 401 | 97 |
| M7 | 2,937 | 8,620 | 2,593 | 2,816 | 2,562 | 3,745 |
| M8 | 1,161 | 923 | 272 | 2,505 | 416 | 96 |
| M9 | 180 | 31 | 18 | 74 | 139 | 9 |
| M10 | 38 | 7 | 3 | 35 | 36 | 2 |
| M11 | 2,718 | 3,463 | 2,509 | 2,814 | 2,542 | 3,556 |
| M12 | 1,024 | 835 | 265 | 2,672 | 397 | 91 |
| M13 | 2,729 | 8,474 | 2,553 | 2,895 | 2,512 | 3,445 |
| M14 | 1,018 | 858 | 265 | 2,714 | 399 | 93 |
| M15 | 2,927 | 8,657 | 2,588 | 2,941 | 2,549 | 3,595 |
| M16 | 1,264 | 1,147 | 271 | 2,480 | 423 | 98 |
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 |
| besu | erigon | ethrex | geth | nethermind | reth | |
|---|---|---|---|---|---|---|
| M1 | 6,297 | 6,534 | 3,505 | 5,802 | 3,443 | 14,587 |
| M2 | 9,747 | 27,182 | 1,694 | 11,219 | 6,370 | 773 |
| M3 | 1,272 | 776 | 2,409 | 1,113 | 436 | 121 |
| M4 | 273 | 175 | 32 | 936 | 164 | 24 |
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 |
| besu | erigon | ethrex | geth | nethermind | reth | |
|---|---|---|---|---|---|---|
| M1 | 9,262 | 25,818 | 3,675 | 9,553 | 6,023 | 15,148 |
| M2 | 9,747 | 27,182 | 1,694 | 11,219 | 6,370 | 773 |
| M3 | 2,606 | 8,344 | 2,440 | 3,476 | 2,898 | 1,353 |
| M4 | 273 | 175 | 32 | 936 | 164 | 24 |
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 |
| besu | erigon | ethrex | geth | nethermind | reth | |
|---|---|---|---|---|---|---|
| M1 | 17 | 5 | 2 | 4 | 14 | 1 |
| M2 | 54 | 48 | 8 | 14 | 40 | 6 |
| M3 | 55 | 27 | 8 | 19 | 30 | 5 |
| M4 | 51 | 26 | 7 | 16 | 38 | 5 |
| M5 | 16 | 27 | 2 | 5 | 23 | 1 |
| M6 | 15 | 5 | 2 | 4 | 19 | 1 |
| M7 | 51 | 58 | 7 | 19 | 39 | 5 |
| M8 | 11 | 4 | 2 | 5 | 16 | 1 |
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
- derived: 'REFUND_STORAGE_CLEAR' shadows a raw fork field on 'osaka'
- derived: 'TX_ACCESS_LIST_STORAGE_KEY' shadows a raw fork field on 'osaka'
- derived: 'TX_ACCESS_LIST_ADDRESS' shadows a raw fork field on 'osaka'
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²) |