perf(core): improve u256 handling, improving PUSH and other opcodes#3332
Merged
Conversation
Lines of code reportTotal lines added: Detailed view |
Benchmark Results ComparisonPR ResultsBenchmark Results: Factorial
Benchmark Results: Factorial - Recursive
Benchmark Results: Fibonacci
Benchmark Results: ManyHashes
Benchmark Results: BubbleSort
Benchmark Results: ERC20 - Transfer
Benchmark Results: ERC20 - Mint
Benchmark Results: ERC20 - Approval
Main ResultsBenchmark Results: Factorial
Benchmark Results: Factorial - Recursive
Benchmark Results: Fibonacci
Benchmark Results: ManyHashes
Benchmark Results: BubbleSort
Benchmark Results: ERC20 - Transfer
Benchmark Results: ERC20 - Mint
Benchmark Results: ERC20 - Approval
|
Oppen
reviewed
Jun 26, 2025
Oppen
reviewed
Jun 26, 2025
Benchmark for 178d297Click to view benchmark
|
Benchmark Block Execution Results Comparison Against Main
|
edg-l
marked this pull request as ready for review
June 27, 2025 09:30
Oppen
approved these changes
Jun 27, 2025
Benchmark for 371a7fbClick to view benchmark
|
d-roak
pushed a commit
to 1sixtech/ethrex
that referenced
this pull request
Jul 17, 2025
…ambdaclass#3332) **Motivation** The function `u265::from_big_endian(slice)` which is widely used in the codebase can be made faster through more compile time information. With this change, i could add a constant generic op_push Benchmarks: Seems like our current benchmarks don't measure this part of the code, there is no difference in the levm bench, however external opcode benchmarks show a 2-2.5x improvement on PUSH and MSTORE based benches **Description** <!-- A clear and concise general description of the changes this PR introduces --> <!-- Link to issues: Resolves lambdaclass#111, Resolves lambdaclass#222 --> Closes lambdaclass#3358
pedrobergamini
pushed a commit
to pedrobergamini/ethrex
that referenced
this pull request
Aug 24, 2025
…ambdaclass#3332) **Motivation** The function `u265::from_big_endian(slice)` which is widely used in the codebase can be made faster through more compile time information. With this change, i could add a constant generic op_push Benchmarks: Seems like our current benchmarks don't measure this part of the code, there is no difference in the levm bench, however external opcode benchmarks show a 2-2.5x improvement on PUSH and MSTORE based benches **Description** <!-- A clear and concise general description of the changes this PR introduces --> <!-- Link to issues: Resolves lambdaclass#111, Resolves lambdaclass#222 --> Closes lambdaclass#3358
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
The function
u265::from_big_endian(slice)which is widely used in the codebase can be made faster through more compile time information.With this change, i could add a constant generic op_push
Benchmarks:
Seems like our current benchmarks don't measure this part of the code, there is no difference in the levm bench, however external opcode benchmarks show a 2-2.5x improvement on PUSH and MSTORE based benches
Description
Closes #3358