Skip to content

Conversation

@DaniPopes
Copy link
Collaborator

Bytecode is now a single struct, with a single enum BytecodeKind for legacy and eip7702

  • arced internally
  • 16 -> 8 bytes
  • removes the Arc in JumpTable since it's already present in Bytecode
  • makes analyze fn private

@DaniPopes DaniPopes requested a review from rakita January 30, 2026 03:13
@codspeed-hq
Copy link

codspeed-hq bot commented Jan 30, 2026

Merging this PR will improve performance by 8.03%

⚡ 6 improved benchmarks
✅ 167 untouched benchmarks

Performance Changes

Benchmark BASE HEAD Efficiency
MSTORE_50 19.5 µs 18.3 µs +6.8%
MSTORE_COLD_50 23.6 µs 22.5 µs +4.77%
transfer 13.9 µs 13.2 µs +5.07%
transfer_finalize 17.5 µs 17 µs +3.09%
EXTCODEHASH_50 40.8 µs 37.8 µs +8.03%
EXTCODESIZE_50 40.6 µs 37.7 µs +7.82%

Comparing DaniPopes:dani/new-bytecode (10aa414) with main (add1b54)

Open in CodSpeed

Copy link
Collaborator

@mattsse mattsse left a comment

Choose a reason for hiding this comment

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

before we merge any of this I want tests on reth that this doesnt break encoding (again)

meaning that this encodes/decodes the bytecode exactly the same

@DaniPopes
Copy link
Collaborator Author

what is it used in?

@mattsse
Copy link
Collaborator

mattsse commented Jan 30, 2026

@DaniPopes
Copy link
Collaborator Author

shouldn't be affected

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants