Skip to content

refactor(test-benchmark): port benchmark from bal-devnet-7 - #2977

Merged
spencer-tb merged 8 commits into
ethereum:forks/amsterdamfrom
LouisTsai-Csie:port-benchmark-from-devnet
Jun 12, 2026
Merged

refactor(test-benchmark): port benchmark from bal-devnet-7#2977
spencer-tb merged 8 commits into
ethereum:forks/amsterdamfrom
LouisTsai-Csie:port-benchmark-from-devnet

Conversation

@LouisTsai-Csie

@LouisTsai-Csie LouisTsai-Csie commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

🗒️ Description

This is the branch for porting the devnet-7/devnet-3 benchmark improvements from devnet-7-bench (#2885) back to forks/amsterdam.

Details of each commit:

  • commit c339b3b: there are several cache strategies, now we only need NO_CACHE variant, this commit removes all the other combinations.
  • commit 89c043d: use dynamic gas cost calculation instead of hardcoding cost.
  • commit f7212dc: same as commit 89c043d
  • commit 195d801: Update pre-funding account, originally we use 0x111...111 as initial pkey, but it is already occupied, update it to use a more random seed. Related PR feat: add extra withdrawal request for pre-funding NethermindEth/gas-benchmarks#146 could be found in gas-benchmarks.
  • commit 3eb3acd: refactor test_sstore_bloated benchmark to support eip-8037 state gas calculation.
  • commit ea81891: fix a linting issue from devnet-7-bench (missing Callable import introduced by the eip-8037 SSTORE benchmark refactor).
  • commit f02872c: adaptation for this branch. The eip-8037 SSTORE benchmark refactor relies on fork.sstore_state_gas(), which only exists on devnet-7-bench and was inlined upstream. Replace it with the existing metadata-driven loop.state_cost(fork), which also removes the hand-coded (not existing_slots and write_new_value) condition since the SSTORE metadata already encodes the zero-to-nonzero state gas charge.
  • commit 18b0fbb: remove the markdown linting configuration that is no longer necessary for eip-8037.

Commit c339b3b, 89c043d and 3eb3acd are already reviewed and merged into devnets/bal/3 (originally as 765f607, 3c11409 and 8a911bb). This PR cherry-picks them to make sure benchmark test implementation is up-to-date to the latest spec.

Note: commit 15ee1b1 from devnet-7-bench is NOT cherry-picked here, since it fixes lint in spec/blockchain code unrelated to the benchmark tests and does not apply to this branch.

🔗 Related Issues or PRs

issue #2807
supersedes PR #2885

✅ Checklist

  • All: Ran fast static checks to avoid unnecessary CI fails, see also Code Standards and Enabling Pre-commit Checks:
    just static
  • All: PR title adheres to the repo standard - it will be used as the squash commit message and should start type(scope):.
  • All: Considered updating the online docs in the ./docs/ directory.
  • All: Set appropriate labels for the changes (only maintainers can apply labels).
  • Tests: Ran mkdocs serve locally and verified the auto-generated docs for new tests in the Test Case Reference are correctly formatted.
  • Tests: For PRs implementing a missed test case, update the post-mortem document to add an entry the list.
  • Ported Tests: All converted JSON/YML tests from ethereum/tests or tests/static have been assigned @ported_from marker.

Cute Animal Picture

Put a link to a cute animal picture inside the parenthesis-->

CPerezz and others added 7 commits June 11, 2026 14:40
…hmark (ethereum#2771)

* refactor: failing 8037 benchmark cases

* refactor: auth tx limit

* fix: linitng issue

* chore: ignore local EIP-8037 notes in `markdownlint-cli2`

Add `.markdownlint-cli2.yaml` with an `ignores` list for the
`EIP8037_REMAINING_FAILURES.md`, `EIP8037_PORTED_STATIC_FAILURES.md`,
and `EIP8037_IMPLEMENTATION.md` working notes at the repo root.

* refactor: deploy contract gas limit accounting

* fix: gas accounting

* feat: add stub for new snapshot

---------

Co-authored-by: danceratopz <danceratopz@gmail.com>
@LouisTsai-Csie LouisTsai-Csie self-assigned this Jun 11, 2026
@LouisTsai-Csie LouisTsai-Csie added A-test-benchmark Area: execution_testing.benchmark and tests/benchmark C-refactor Category: refactor labels Jun 11, 2026
@codecov

codecov Bot commented Jun 11, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 90.53%. Comparing base (26ff8a6) to head (18b0fbb).

Additional details and impacted files
@@               Coverage Diff                @@
##           forks/amsterdam    #2977   +/-   ##
================================================
  Coverage            90.53%   90.53%           
================================================
  Files                  535      535           
  Lines                32893    32893           
  Branches              3021     3021           
================================================
  Hits                 29780    29780           
  Misses                2595     2595           
  Partials               518      518           
Flag Coverage Δ
unittests 90.53% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@LouisTsai-Csie

LouisTsai-Csie commented Jun 11, 2026

Copy link
Copy Markdown
Contributor Author

@spencer-tb
spencer-tb self-requested a review June 11, 2026 13:10

@spencer-tb spencer-tb left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Will consider a small follow up PR for some nits

@spencer-tb
spencer-tb merged commit 9d7738b into ethereum:forks/amsterdam Jun 12, 2026
26 checks passed
LouisTsai-Csie added a commit that referenced this pull request Jun 19, 2026
Co-authored-by: CPerezz <37264926+CPerezz@users.noreply.github.com>
Co-authored-by: danceratopz <danceratopz@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-test-benchmark Area: execution_testing.benchmark and tests/benchmark C-refactor Category: refactor

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants