Skip to content

perf(levm): improve blake2f #3766

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1 commit into from
Closed

perf(levm): improve blake2f #3766

wants to merge 1 commit into from

Conversation

edg-l
Copy link
Contributor

@edg-l edg-l commented Jul 22, 2025

Motivation

Description

Closes #issue_number

Copy link

Lines of code report

Total lines added: 20
Total lines removed: 0
Total lines changed: 20

Detailed view
+------------------------------------------+-------+------+
| File                                     | Lines | Diff |
+------------------------------------------+-------+------+
| ethrex/crates/vm/levm/src/precompiles.rs | 1027  | +20  |
+------------------------------------------+-------+------+

Copy link

Benchmark Results Comparison

No significant difference was registered for any benchmark run.

Detailed Results

Benchmark Results: BubbleSort

Command Mean [s] Min [s] Max [s] Relative
main_revm_BubbleSort 3.213 ± 0.018 3.184 3.248 1.00
main_levm_BubbleSort 3.800 ± 0.037 3.764 3.891 1.18 ± 0.01
pr_revm_BubbleSort 3.219 ± 0.024 3.196 3.272 1.00 ± 0.01
pr_levm_BubbleSort 3.803 ± 0.025 3.775 3.841 1.18 ± 0.01

Benchmark Results: ERC20Approval

Command Mean [s] Min [s] Max [s] Relative
main_revm_ERC20Approval 1.048 ± 0.010 1.041 1.075 1.00
main_levm_ERC20Approval 1.308 ± 0.014 1.292 1.330 1.25 ± 0.02
pr_revm_ERC20Approval 1.075 ± 0.006 1.069 1.092 1.03 ± 0.01
pr_levm_ERC20Approval 1.300 ± 0.009 1.287 1.319 1.24 ± 0.01

Benchmark Results: ERC20Mint

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_ERC20Mint 140.5 ± 0.8 139.4 142.1 1.00
main_levm_ERC20Mint 181.7 ± 1.7 180.3 186.2 1.29 ± 0.01
pr_revm_ERC20Mint 141.3 ± 1.1 140.0 142.9 1.01 ± 0.01
pr_levm_ERC20Mint 180.6 ± 1.0 179.4 182.5 1.29 ± 0.01

Benchmark Results: ERC20Transfer

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_ERC20Transfer 247.1 ± 2.2 245.2 251.7 1.00
main_levm_ERC20Transfer 321.0 ± 3.9 317.8 331.5 1.30 ± 0.02
pr_revm_ERC20Transfer 250.5 ± 1.8 247.7 253.5 1.01 ± 0.01
pr_levm_ERC20Transfer 320.2 ± 3.8 315.7 327.0 1.30 ± 0.02

Benchmark Results: Factorial

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_Factorial 236.0 ± 0.9 235.0 237.8 1.00
main_levm_Factorial 364.5 ± 6.6 355.1 373.1 1.54 ± 0.03
pr_revm_Factorial 239.3 ± 2.2 234.3 242.2 1.01 ± 0.01
pr_levm_Factorial 359.5 ± 4.0 356.2 369.3 1.52 ± 0.02

Benchmark Results: FactorialRecursive

Command Mean [s] Min [s] Max [s] Relative
main_revm_FactorialRecursive 1.597 ± 0.029 1.526 1.626 1.00
main_levm_FactorialRecursive 7.752 ± 0.019 7.727 7.785 4.85 ± 0.09
pr_revm_FactorialRecursive 1.613 ± 0.017 1.589 1.642 1.01 ± 0.02
pr_levm_FactorialRecursive 7.746 ± 0.013 7.717 7.758 4.85 ± 0.09

Benchmark Results: Fibonacci

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_Fibonacci 208.9 ± 0.9 207.1 210.2 1.00
main_levm_Fibonacci 351.8 ± 4.9 349.1 365.8 1.68 ± 0.02
pr_revm_Fibonacci 211.6 ± 5.9 208.3 226.6 1.01 ± 0.03
pr_levm_Fibonacci 357.1 ± 20.4 347.2 411.0 1.71 ± 0.10

Benchmark Results: FibonacciRecursive

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_FibonacciRecursive 850.9 ± 9.0 841.2 872.9 1.00
main_levm_FibonacciRecursive 1073.8 ± 7.7 1062.3 1084.0 1.26 ± 0.02
pr_revm_FibonacciRecursive 857.0 ± 14.5 831.6 885.0 1.01 ± 0.02
pr_levm_FibonacciRecursive 1113.0 ± 22.7 1096.6 1173.4 1.31 ± 0.03

Benchmark Results: ManyHashes

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_ManyHashes 8.9 ± 0.1 8.8 9.1 1.00
main_levm_ManyHashes 11.2 ± 0.2 11.0 11.4 1.25 ± 0.02
pr_revm_ManyHashes 9.2 ± 0.7 8.8 11.2 1.03 ± 0.08
pr_levm_ManyHashes 11.2 ± 0.1 11.1 11.4 1.25 ± 0.02

Benchmark Results: MstoreBench

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_MstoreBench 277.9 ± 2.9 275.8 285.8 1.00 ± 0.01
main_levm_MstoreBench 619.9 ± 1.7 618.4 623.9 2.24 ± 0.02
pr_revm_MstoreBench 277.2 ± 2.7 275.7 284.7 1.00
pr_levm_MstoreBench 624.8 ± 17.9 617.9 675.8 2.25 ± 0.07

Benchmark Results: Push

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_Push 297.1 ± 2.1 295.2 302.7 1.00
main_levm_Push 746.1 ± 0.8 745.0 747.7 2.51 ± 0.02
pr_revm_Push 297.4 ± 1.5 295.1 300.5 1.00 ± 0.01
pr_levm_Push 747.5 ± 1.8 745.0 750.5 2.52 ± 0.02

Benchmark Results: SstoreBench_no_opt

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_SstoreBench_no_opt 158.2 ± 1.0 157.1 159.7 1.67 ± 0.03
main_levm_SstoreBench_no_opt 94.5 ± 1.1 93.1 96.9 1.00 ± 0.02
pr_revm_SstoreBench_no_opt 159.4 ± 5.0 157.4 173.7 1.69 ± 0.06
pr_levm_SstoreBench_no_opt 94.5 ± 1.4 92.9 97.2 1.00

@edg-l edg-l closed this Jul 30, 2025
@github-project-automation github-project-automation bot moved this from Todo to Done in ethrex_performance Jul 30, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

1 participant