Skip to content

perf(levm): improve blake2f #3503

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

Merged
merged 9 commits into from
Jul 10, 2025
Merged

perf(levm): improve blake2f #3503

merged 9 commits into from
Jul 10, 2025

Conversation

edg-l
Copy link
Contributor

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

Motivation

Cleaner code and better perfomance

Main
image

pr
image

Improves blake2f 1 round mgas

Description

Closes #issue_number

@edg-l edg-l changed the title improve blake2f 1 perf(levm): improve blake2f Jul 7, 2025
@edg-l edg-l moved this from Todo to In Progress in ethrex_performance Jul 7, 2025
Copy link

github-actions bot commented Jul 7, 2025

Lines of code report

Total lines added: 0
Total lines removed: 34
Total lines changed: 34

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

@edg-l edg-l marked this pull request as ready for review July 7, 2025 13:02
@edg-l edg-l requested a review from a team as a code owner July 7, 2025 13:02
Copy link

github-actions bot commented Jul 7, 2025

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.217 ± 0.037 3.177 3.303 1.02 ± 0.01
main_levm_BubbleSort 4.417 ± 0.030 4.374 4.458 1.40 ± 0.01
pr_revm_BubbleSort 3.159 ± 0.014 3.139 3.175 1.00
pr_levm_BubbleSort 4.465 ± 0.021 4.440 4.517 1.41 ± 0.01

Benchmark Results: ERC20Approval

Command Mean [s] Min [s] Max [s] Relative
main_revm_ERC20Approval 1.075 ± 0.008 1.066 1.094 1.02 ± 0.02
main_levm_ERC20Approval 1.549 ± 0.008 1.540 1.565 1.47 ± 0.02
pr_revm_ERC20Approval 1.055 ± 0.015 1.045 1.090 1.00
pr_levm_ERC20Approval 1.547 ± 0.029 1.534 1.628 1.47 ± 0.03

Benchmark Results: ERC20Mint

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_ERC20Mint 140.1 ± 0.4 139.4 140.8 1.01 ± 0.02
main_levm_ERC20Mint 267.0 ± 3.9 263.0 274.9 1.92 ± 0.05
pr_revm_ERC20Mint 138.9 ± 3.0 136.5 146.9 1.00
pr_levm_ERC20Mint 256.5 ± 7.4 251.2 277.0 1.85 ± 0.07

Benchmark Results: ERC20Transfer

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_ERC20Transfer 252.9 ± 6.5 249.7 271.2 1.03 ± 0.03
main_levm_ERC20Transfer 411.8 ± 2.8 408.6 417.0 1.68 ± 0.02
pr_revm_ERC20Transfer 245.6 ± 2.5 243.3 250.3 1.00
pr_levm_ERC20Transfer 403.4 ± 2.6 400.5 408.8 1.64 ± 0.02

Benchmark Results: Factorial

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_Factorial 236.5 ± 1.9 231.7 238.3 1.00
main_levm_Factorial 451.6 ± 1.4 449.8 454.7 1.91 ± 0.02
pr_revm_Factorial 236.8 ± 2.3 231.7 240.1 1.00 ± 0.01
pr_levm_Factorial 453.8 ± 1.7 452.3 457.3 1.92 ± 0.02

Benchmark Results: FactorialRecursive

Command Mean [s] Min [s] Max [s] Relative
main_revm_FactorialRecursive 1.678 ± 0.023 1.636 1.711 1.00
main_levm_FactorialRecursive 2.831 ± 0.022 2.804 2.858 1.69 ± 0.03
pr_revm_FactorialRecursive 1.684 ± 0.034 1.605 1.724 1.00 ± 0.02
pr_levm_FactorialRecursive 2.726 ± 0.016 2.697 2.752 1.62 ± 0.02

Benchmark Results: Fibonacci

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_Fibonacci 208.5 ± 0.5 207.8 209.2 1.00
main_levm_Fibonacci 449.6 ± 3.6 446.5 458.7 2.16 ± 0.02
pr_revm_Fibonacci 209.4 ± 1.5 208.0 212.6 1.00 ± 0.01
pr_levm_Fibonacci 452.2 ± 8.0 445.8 471.3 2.17 ± 0.04

Benchmark Results: FibonacciRecursive

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_FibonacciRecursive 947.9 ± 14.7 923.7 969.8 1.02 ± 0.02
main_levm_FibonacciRecursive 1516.0 ± 11.3 1501.7 1534.5 1.63 ± 0.02
pr_revm_FibonacciRecursive 928.7 ± 6.4 917.8 935.7 1.00
pr_levm_FibonacciRecursive 1435.1 ± 8.6 1423.3 1450.2 1.55 ± 0.01

Benchmark Results: ManyHashes

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_ManyHashes 8.9 ± 0.1 8.8 9.0 1.01 ± 0.01
main_levm_ManyHashes 14.2 ± 0.2 14.0 14.8 1.61 ± 0.03
pr_revm_ManyHashes 8.8 ± 0.1 8.7 8.9 1.00
pr_levm_ManyHashes 13.2 ± 0.2 13.0 13.6 1.49 ± 0.03

Benchmark Results: MstoreBench

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_MstoreBench 271.5 ± 2.3 269.3 276.6 1.00
main_levm_MstoreBench 988.4 ± 2.2 984.3 991.4 3.64 ± 0.03
pr_revm_MstoreBench 271.5 ± 2.9 268.7 278.8 1.00 ± 0.01
pr_levm_MstoreBench 908.0 ± 3.0 903.1 912.8 3.35 ± 0.03

Benchmark Results: Push

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_Push 292.2 ± 1.5 290.2 294.6 1.00
main_levm_Push 1059.0 ± 2.5 1055.5 1063.0 3.62 ± 0.02
pr_revm_Push 293.0 ± 1.3 291.4 295.3 1.00 ± 0.01
pr_levm_Push 1066.6 ± 6.4 1051.8 1075.9 3.65 ± 0.03

Copy link

github-actions bot commented Jul 7, 2025

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.208 ± 0.040 3.187 3.318 1.00
main_levm_BubbleSort 4.514 ± 0.035 4.482 4.583 1.41 ± 0.02
pr_revm_BubbleSort 3.211 ± 0.048 3.161 3.305 1.00 ± 0.02
pr_levm_BubbleSort 4.646 ± 0.045 4.592 4.745 1.45 ± 0.02

Benchmark Results: ERC20Approval

Command Mean [s] Min [s] Max [s] Relative
main_revm_ERC20Approval 1.060 ± 0.013 1.050 1.084 1.01 ± 0.01
main_levm_ERC20Approval 1.535 ± 0.012 1.521 1.554 1.47 ± 0.02
pr_revm_ERC20Approval 1.046 ± 0.008 1.037 1.060 1.00
pr_levm_ERC20Approval 1.533 ± 0.006 1.523 1.543 1.47 ± 0.01

Benchmark Results: ERC20Mint

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_ERC20Mint 138.1 ± 0.6 137.2 139.0 1.00
main_levm_ERC20Mint 255.4 ± 4.4 252.1 267.2 1.85 ± 0.03
pr_revm_ERC20Mint 139.0 ± 1.2 137.8 140.6 1.01 ± 0.01
pr_levm_ERC20Mint 254.7 ± 2.3 251.2 258.1 1.84 ± 0.02

Benchmark Results: ERC20Transfer

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_ERC20Transfer 249.4 ± 2.3 246.8 253.4 1.01 ± 0.01
main_levm_ERC20Transfer 399.6 ± 4.0 393.9 405.7 1.62 ± 0.02
pr_revm_ERC20Transfer 246.0 ± 1.9 243.9 249.9 1.00
pr_levm_ERC20Transfer 404.7 ± 2.9 400.4 409.9 1.65 ± 0.02

Benchmark Results: Factorial

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_Factorial 235.6 ± 1.2 234.2 237.8 1.00 ± 0.01
main_levm_Factorial 452.6 ± 2.9 450.5 460.0 1.93 ± 0.02
pr_revm_Factorial 234.9 ± 1.4 233.1 238.5 1.00
pr_levm_Factorial 471.3 ± 1.5 469.7 474.6 2.01 ± 0.01

Benchmark Results: FactorialRecursive

Command Mean [s] Min [s] Max [s] Relative
main_revm_FactorialRecursive 1.692 ± 0.016 1.660 1.714 1.04 ± 0.02
main_levm_FactorialRecursive 2.641 ± 0.010 2.630 2.661 1.63 ± 0.02
pr_revm_FactorialRecursive 1.625 ± 0.018 1.592 1.653 1.00
pr_levm_FactorialRecursive 2.715 ± 0.019 2.693 2.762 1.67 ± 0.02

Benchmark Results: Fibonacci

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_Fibonacci 208.6 ± 0.9 207.4 210.4 1.02 ± 0.01
main_levm_Fibonacci 449.8 ± 5.3 445.6 462.4 2.19 ± 0.03
pr_revm_Fibonacci 205.1 ± 1.6 204.0 209.6 1.00
pr_levm_Fibonacci 461.8 ± 5.2 457.6 474.8 2.25 ± 0.03

Benchmark Results: FibonacciRecursive

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_FibonacciRecursive 912.8 ± 11.7 890.2 929.7 1.07 ± 0.02
main_levm_FibonacciRecursive 1401.8 ± 7.0 1394.3 1416.7 1.64 ± 0.03
pr_revm_FibonacciRecursive 857.0 ± 13.0 836.0 874.2 1.00
pr_levm_FibonacciRecursive 1434.4 ± 11.7 1421.6 1456.7 1.67 ± 0.03

Benchmark Results: ManyHashes

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_ManyHashes 61.5 ± 0.4 61.1 62.1 1.00
main_levm_ManyHashes 106.3 ± 1.3 103.7 107.5 1.73 ± 0.02
pr_revm_ManyHashes 61.9 ± 0.6 61.3 63.0 1.01 ± 0.01
pr_levm_ManyHashes 101.8 ± 0.7 100.9 103.6 1.66 ± 0.02

Benchmark Results: MstoreBench

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_MstoreBench 271.0 ± 2.3 268.4 275.3 1.02 ± 0.02
main_levm_MstoreBench 907.7 ± 2.2 903.7 911.1 3.43 ± 0.05
pr_revm_MstoreBench 264.7 ± 3.8 261.5 274.3 1.00
pr_levm_MstoreBench 927.1 ± 7.8 921.9 944.1 3.50 ± 0.06

Benchmark Results: Push

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_Push 292.2 ± 1.3 290.6 295.1 1.00
main_levm_Push 1041.0 ± 4.8 1035.0 1051.1 3.56 ± 0.02
pr_revm_Push 297.9 ± 1.4 296.8 301.6 1.02 ± 0.01
pr_levm_Push 1034.9 ± 2.6 1030.5 1037.9 3.54 ± 0.02

Copy link

github-actions bot commented Jul 7, 2025

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.199 ± 0.022 3.179 3.250 1.01 ± 0.01
main_levm_BubbleSort 4.504 ± 0.031 4.468 4.561 1.43 ± 0.01
pr_revm_BubbleSort 3.159 ± 0.016 3.137 3.187 1.00
pr_levm_BubbleSort 4.679 ± 0.161 4.598 5.134 1.48 ± 0.05

Benchmark Results: ERC20Approval

Command Mean [s] Min [s] Max [s] Relative
main_revm_ERC20Approval 1.051 ± 0.008 1.042 1.063 1.01 ± 0.01
main_levm_ERC20Approval 1.554 ± 0.006 1.546 1.563 1.49 ± 0.01
pr_revm_ERC20Approval 1.041 ± 0.009 1.032 1.061 1.00
pr_levm_ERC20Approval 1.593 ± 0.009 1.578 1.603 1.53 ± 0.02

Benchmark Results: ERC20Mint

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_ERC20Mint 139.7 ± 0.5 139.0 140.6 1.02 ± 0.01
main_levm_ERC20Mint 266.4 ± 12.8 255.6 300.4 1.94 ± 0.09
pr_revm_ERC20Mint 137.4 ± 0.8 136.5 139.1 1.00
pr_levm_ERC20Mint 269.8 ± 13.3 262.6 306.9 1.96 ± 0.10

Benchmark Results: ERC20Transfer

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_ERC20Transfer 249.2 ± 5.4 245.3 259.7 1.02 ± 0.02
main_levm_ERC20Transfer 404.9 ± 3.8 401.7 413.7 1.66 ± 0.02
pr_revm_ERC20Transfer 244.2 ± 2.5 242.2 250.2 1.00
pr_levm_ERC20Transfer 416.6 ± 3.1 412.7 423.7 1.71 ± 0.02

Benchmark Results: Factorial

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_Factorial 236.1 ± 1.3 234.4 238.5 1.01 ± 0.01
main_levm_Factorial 472.0 ± 6.5 453.8 477.1 2.02 ± 0.03
pr_revm_Factorial 233.7 ± 1.3 232.7 236.9 1.00
pr_levm_Factorial 470.5 ± 2.1 468.6 475.5 2.01 ± 0.01

Benchmark Results: FactorialRecursive

Command Mean [s] Min [s] Max [s] Relative
main_revm_FactorialRecursive 1.691 ± 0.029 1.615 1.714 1.04 ± 0.02
main_levm_FactorialRecursive 2.650 ± 0.017 2.627 2.675 1.63 ± 0.02
pr_revm_FactorialRecursive 1.626 ± 0.019 1.592 1.652 1.00
pr_levm_FactorialRecursive 2.849 ± 0.020 2.820 2.885 1.75 ± 0.02

Benchmark Results: Fibonacci

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_Fibonacci 209.5 ± 2.1 207.7 214.0 1.03 ± 0.01
main_levm_Fibonacci 449.3 ± 5.1 446.0 462.3 2.20 ± 0.03
pr_revm_Fibonacci 203.8 ± 1.5 202.4 207.6 1.00
pr_levm_Fibonacci 460.9 ± 3.8 456.1 468.5 2.26 ± 0.03

Benchmark Results: FibonacciRecursive

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_FibonacciRecursive 923.5 ± 10.6 905.3 936.0 1.06 ± 0.02
main_levm_FibonacciRecursive 1402.8 ± 12.6 1388.9 1423.5 1.61 ± 0.03
pr_revm_FibonacciRecursive 868.8 ± 16.2 839.4 894.0 1.00
pr_levm_FibonacciRecursive 1521.3 ± 6.1 1509.1 1529.4 1.75 ± 0.03

Benchmark Results: ManyHashes

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_ManyHashes 61.9 ± 0.6 61.3 63.1 1.00
main_levm_ManyHashes 101.4 ± 0.5 100.7 102.3 1.64 ± 0.02
pr_revm_ManyHashes 63.3 ± 2.4 61.5 68.6 1.02 ± 0.04
pr_levm_ManyHashes 108.0 ± 1.0 106.8 110.6 1.75 ± 0.02

Benchmark Results: MstoreBench

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_MstoreBench 270.3 ± 1.8 267.9 273.4 1.02 ± 0.01
main_levm_MstoreBench 897.3 ± 2.8 892.7 902.8 3.40 ± 0.03
pr_revm_MstoreBench 263.9 ± 2.4 260.9 268.0 1.00
pr_levm_MstoreBench 940.0 ± 8.0 923.2 950.9 3.56 ± 0.04

Benchmark Results: Push

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_Push 293.3 ± 1.5 291.1 295.3 1.00
main_levm_Push 998.3 ± 5.9 989.9 1011.8 3.40 ± 0.03
pr_revm_Push 297.3 ± 0.9 296.1 298.8 1.01 ± 0.01
pr_levm_Push 1022.3 ± 3.4 1016.1 1026.1 3.49 ± 0.02

Copy link

github-actions bot commented Jul 7, 2025

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.196 ± 0.016 3.178 3.222 1.01 ± 0.01
main_levm_BubbleSort 4.417 ± 0.017 4.396 4.441 1.40 ± 0.01
pr_revm_BubbleSort 3.156 ± 0.007 3.148 3.164 1.00
pr_levm_BubbleSort 4.471 ± 0.038 4.420 4.525 1.42 ± 0.01

Benchmark Results: ERC20Approval

Command Mean [s] Min [s] Max [s] Relative
main_revm_ERC20Approval 1.064 ± 0.005 1.061 1.074 1.01 ± 0.01
main_levm_ERC20Approval 1.524 ± 0.009 1.515 1.545 1.44 ± 0.02
pr_revm_ERC20Approval 1.056 ± 0.009 1.049 1.080 1.00
pr_levm_ERC20Approval 1.537 ± 0.008 1.530 1.555 1.46 ± 0.01

Benchmark Results: ERC20Mint

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_ERC20Mint 139.6 ± 2.2 138.5 145.8 1.00
main_levm_ERC20Mint 257.9 ± 1.9 255.5 262.3 1.85 ± 0.03
pr_revm_ERC20Mint 140.5 ± 1.6 139.3 144.7 1.01 ± 0.02
pr_levm_ERC20Mint 255.4 ± 2.0 252.7 258.7 1.83 ± 0.03

Benchmark Results: ERC20Transfer

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_ERC20Transfer 250.7 ± 1.1 249.1 252.8 1.02 ± 0.00
main_levm_ERC20Transfer 402.9 ± 5.3 399.1 417.2 1.63 ± 0.02
pr_revm_ERC20Transfer 246.8 ± 0.5 245.8 247.3 1.00
pr_levm_ERC20Transfer 407.2 ± 2.8 402.3 412.0 1.65 ± 0.01

Benchmark Results: Factorial

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_Factorial 236.8 ± 0.8 235.7 238.2 1.01 ± 0.01
main_levm_Factorial 452.1 ± 1.0 450.4 453.3 1.92 ± 0.01
pr_revm_Factorial 235.5 ± 1.0 234.4 237.4 1.00
pr_levm_Factorial 469.1 ± 1.0 467.7 470.5 1.99 ± 0.01

Benchmark Results: FactorialRecursive

Command Mean [s] Min [s] Max [s] Relative
main_revm_FactorialRecursive 1.687 ± 0.023 1.651 1.728 1.04 ± 0.02
main_levm_FactorialRecursive 2.739 ± 0.024 2.694 2.778 1.69 ± 0.03
pr_revm_FactorialRecursive 1.622 ± 0.023 1.571 1.651 1.00
pr_levm_FactorialRecursive 2.748 ± 0.025 2.719 2.800 1.69 ± 0.03

Benchmark Results: Fibonacci

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_Fibonacci 209.4 ± 2.3 207.8 215.0 1.03 ± 0.01
main_levm_Fibonacci 460.1 ± 30.9 447.0 547.1 2.26 ± 0.15
pr_revm_Fibonacci 203.4 ± 0.5 202.6 204.0 1.00
pr_levm_Fibonacci 463.3 ± 14.6 457.5 504.9 2.28 ± 0.07

Benchmark Results: FibonacciRecursive

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_FibonacciRecursive 926.1 ± 12.6 897.9 940.9 1.07 ± 0.03
main_levm_FibonacciRecursive 1418.2 ± 13.2 1400.9 1445.7 1.64 ± 0.04
pr_revm_FibonacciRecursive 864.7 ± 21.5 831.8 904.3 1.00
pr_levm_FibonacciRecursive 1443.0 ± 17.0 1421.7 1478.9 1.67 ± 0.05

Benchmark Results: ManyHashes

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_ManyHashes 62.2 ± 0.7 61.0 63.2 1.00
main_levm_ManyHashes 102.0 ± 9.5 98.3 129.0 1.64 ± 0.15
pr_revm_ManyHashes 62.4 ± 0.2 62.2 63.0 1.00 ± 0.01
pr_levm_ManyHashes 99.0 ± 0.5 98.1 99.7 1.59 ± 0.02

Benchmark Results: MstoreBench

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_MstoreBench 272.4 ± 3.0 268.5 276.6 1.02 ± 0.02
main_levm_MstoreBench 898.2 ± 2.4 893.8 901.5 3.38 ± 0.05
pr_revm_MstoreBench 266.0 ± 3.5 262.7 272.8 1.00
pr_levm_MstoreBench 937.9 ± 12.5 920.8 964.1 3.53 ± 0.07

Benchmark Results: Push

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_Push 293.1 ± 1.5 290.9 295.2 1.00
main_levm_Push 996.3 ± 2.4 993.9 1001.1 3.40 ± 0.02
pr_revm_Push 299.0 ± 1.9 296.6 303.1 1.02 ± 0.01
pr_levm_Push 1046.0 ± 6.2 1034.2 1055.4 3.57 ± 0.03

Copy link

github-actions bot commented Jul 7, 2025

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.200 ± 0.022 3.171 3.237 1.01 ± 0.01
main_levm_BubbleSort 4.473 ± 0.212 4.358 5.066 1.41 ± 0.07
pr_revm_BubbleSort 3.177 ± 0.034 3.144 3.241 1.00
pr_levm_BubbleSort 4.603 ± 0.101 4.526 4.861 1.45 ± 0.04

Benchmark Results: ERC20Approval

Command Mean [s] Min [s] Max [s] Relative
main_revm_ERC20Approval 1.064 ± 0.011 1.045 1.085 1.00
main_levm_ERC20Approval 1.527 ± 0.024 1.508 1.593 1.44 ± 0.03
pr_revm_ERC20Approval 1.067 ± 0.004 1.063 1.074 1.00 ± 0.01
pr_levm_ERC20Approval 1.597 ± 0.013 1.582 1.625 1.50 ± 0.02

Benchmark Results: ERC20Mint

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_ERC20Mint 138.5 ± 1.4 136.8 142.1 1.00
main_levm_ERC20Mint 255.9 ± 3.1 252.2 260.4 1.85 ± 0.03
pr_revm_ERC20Mint 140.8 ± 1.0 139.5 142.0 1.02 ± 0.01
pr_levm_ERC20Mint 264.1 ± 1.9 261.3 268.5 1.91 ± 0.02

Benchmark Results: ERC20Transfer

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_ERC20Transfer 249.2 ± 3.8 246.4 256.9 1.00
main_levm_ERC20Transfer 401.8 ± 6.4 396.9 419.0 1.61 ± 0.04
pr_revm_ERC20Transfer 251.8 ± 2.8 249.0 257.8 1.01 ± 0.02
pr_levm_ERC20Transfer 419.1 ± 7.8 412.5 434.2 1.68 ± 0.04

Benchmark Results: Factorial

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_Factorial 235.4 ± 0.7 234.7 236.9 1.00 ± 0.01
main_levm_Factorial 455.3 ± 5.6 451.6 470.8 1.93 ± 0.03
pr_revm_Factorial 235.3 ± 1.4 234.3 238.5 1.00
pr_levm_Factorial 452.9 ± 1.6 451.1 455.4 1.92 ± 0.01

Benchmark Results: FactorialRecursive

Command Mean [s] Min [s] Max [s] Relative
main_revm_FactorialRecursive 1.680 ± 0.029 1.640 1.731 1.00
main_levm_FactorialRecursive 2.708 ± 0.010 2.698 2.730 1.61 ± 0.03
pr_revm_FactorialRecursive 1.699 ± 0.031 1.661 1.756 1.01 ± 0.03
pr_levm_FactorialRecursive 2.926 ± 0.015 2.891 2.943 1.74 ± 0.03

Benchmark Results: Fibonacci

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_Fibonacci 210.7 ± 1.4 209.1 213.7 1.00 ± 0.02
main_levm_Fibonacci 452.2 ± 4.6 445.4 458.9 2.15 ± 0.04
pr_revm_Fibonacci 210.0 ± 3.2 207.2 216.3 1.00
pr_levm_Fibonacci 463.4 ± 41.0 449.1 579.9 2.21 ± 0.20

Benchmark Results: FibonacciRecursive

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_FibonacciRecursive 932.2 ± 16.5 909.9 959.8 1.01 ± 0.02
main_levm_FibonacciRecursive 1403.0 ± 10.6 1390.7 1421.5 1.51 ± 0.02
pr_revm_FibonacciRecursive 927.4 ± 10.6 905.9 937.9 1.00
pr_levm_FibonacciRecursive 1556.7 ± 9.7 1545.8 1570.8 1.68 ± 0.02

Benchmark Results: ManyHashes

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_ManyHashes 8.8 ± 0.1 8.7 9.1 1.00
main_levm_ManyHashes 12.9 ± 0.1 12.8 13.1 1.47 ± 0.02
pr_revm_ManyHashes 8.8 ± 0.1 8.7 9.0 1.00 ± 0.02
pr_levm_ManyHashes 14.7 ± 0.2 14.5 15.2 1.67 ± 0.03

Benchmark Results: MstoreBench

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_MstoreBench 271.9 ± 3.8 267.5 279.3 1.01 ± 0.02
main_levm_MstoreBench 990.8 ± 4.4 980.1 995.1 3.67 ± 0.04
pr_revm_MstoreBench 270.1 ± 2.5 267.7 275.7 1.00
pr_levm_MstoreBench 1030.3 ± 21.9 1012.0 1088.1 3.81 ± 0.09

Benchmark Results: Push

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_Push 294.6 ± 4.0 290.6 303.4 1.01 ± 0.01
main_levm_Push 1060.2 ± 3.9 1051.7 1067.0 3.62 ± 0.03
pr_revm_Push 292.6 ± 1.7 291.5 297.3 1.00
pr_levm_Push 1000.9 ± 3.3 995.5 1006.6 3.42 ± 0.02

Copy link

github-actions bot commented Jul 7, 2025

Benchmark for 99c5a13

Click to view benchmark
Test Base PR %
block payload building bench 0.2±0.00ns 0.2±0.00ns 0.00%

Copy link

github-actions bot commented Jul 7, 2025

Benchmark for c6d5591

Click to view benchmark
Test Base PR %
block payload building bench 0.2±0.00ns 0.2±0.01ns 0.00%

Copy link

github-actions bot commented Jul 7, 2025

Benchmark for 894084e

Click to view benchmark
Test Base PR %
block payload building bench 0.2±0.00ns 0.2±0.00ns 0.00%

Copy link

github-actions bot commented Jul 7, 2025

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.205 ± 0.035 3.139 3.267 1.01 ± 0.01
main_levm_BubbleSort 4.402 ± 0.025 4.376 4.442 1.39 ± 0.01
pr_revm_BubbleSort 3.166 ± 0.014 3.138 3.181 1.00
pr_levm_BubbleSort 4.439 ± 0.019 4.404 4.471 1.40 ± 0.01

Benchmark Results: ERC20Approval

Command Mean [s] Min [s] Max [s] Relative
main_revm_ERC20Approval 1.071 ± 0.004 1.065 1.080 1.03 ± 0.01
main_levm_ERC20Approval 1.535 ± 0.034 1.514 1.628 1.47 ± 0.03
pr_revm_ERC20Approval 1.044 ± 0.007 1.036 1.056 1.00
pr_levm_ERC20Approval 1.526 ± 0.018 1.511 1.571 1.46 ± 0.02

Benchmark Results: ERC20Mint

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_ERC20Mint 140.3 ± 1.1 139.0 142.4 1.02 ± 0.01
main_levm_ERC20Mint 258.0 ± 4.7 252.4 267.0 1.88 ± 0.04
pr_revm_ERC20Mint 137.5 ± 0.5 136.8 138.3 1.00
pr_levm_ERC20Mint 257.0 ± 2.5 252.6 260.9 1.87 ± 0.02

Benchmark Results: ERC20Transfer

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_ERC20Transfer 251.2 ± 1.9 249.0 254.0 1.02 ± 0.01
main_levm_ERC20Transfer 400.4 ± 3.0 397.4 406.6 1.63 ± 0.02
pr_revm_ERC20Transfer 245.7 ± 1.6 244.3 249.1 1.00
pr_levm_ERC20Transfer 424.5 ± 63.7 397.6 605.1 1.73 ± 0.26

Benchmark Results: Factorial

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_Factorial 237.1 ± 1.0 236.0 238.8 1.00
main_levm_Factorial 453.7 ± 2.5 451.0 458.5 1.91 ± 0.01
pr_revm_Factorial 238.5 ± 1.4 237.0 240.9 1.01 ± 0.01
pr_levm_Factorial 450.6 ± 2.7 448.7 457.3 1.90 ± 0.01

Benchmark Results: FactorialRecursive

Command Mean [s] Min [s] Max [s] Relative
main_revm_FactorialRecursive 1.683 ± 0.047 1.569 1.720 1.01 ± 0.03
main_levm_FactorialRecursive 2.670 ± 0.022 2.632 2.702 1.60 ± 0.02
pr_revm_FactorialRecursive 1.669 ± 0.019 1.641 1.698 1.00
pr_levm_FactorialRecursive 2.698 ± 0.030 2.637 2.751 1.62 ± 0.03

Benchmark Results: Fibonacci

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_Fibonacci 209.3 ± 2.3 207.2 212.7 1.00
main_levm_Fibonacci 450.0 ± 5.1 446.4 463.3 2.15 ± 0.03
pr_revm_Fibonacci 209.4 ± 0.5 208.6 210.3 1.00 ± 0.01
pr_levm_Fibonacci 449.5 ± 3.9 446.0 459.2 2.15 ± 0.03

Benchmark Results: FibonacciRecursive

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_FibonacciRecursive 931.9 ± 9.4 913.1 946.3 1.02 ± 0.02
main_levm_FibonacciRecursive 1392.9 ± 4.7 1387.6 1400.0 1.52 ± 0.03
pr_revm_FibonacciRecursive 915.3 ± 14.7 888.5 935.5 1.00
pr_levm_FibonacciRecursive 1393.5 ± 13.6 1382.1 1429.3 1.52 ± 0.03

Benchmark Results: ManyHashes

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_ManyHashes 8.8 ± 0.1 8.7 8.9 1.01 ± 0.01
main_levm_ManyHashes 13.1 ± 0.1 13.0 13.3 1.51 ± 0.02
pr_revm_ManyHashes 8.7 ± 0.1 8.6 8.9 1.00
pr_levm_ManyHashes 13.2 ± 0.2 13.1 13.6 1.51 ± 0.03

Benchmark Results: MstoreBench

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_MstoreBench 270.7 ± 5.2 268.3 285.4 1.00 ± 0.02
main_levm_MstoreBench 980.3 ± 5.2 972.7 989.5 3.63 ± 0.05
pr_revm_MstoreBench 270.0 ± 3.3 267.3 276.3 1.00
pr_levm_MstoreBench 925.9 ± 8.2 918.2 940.7 3.43 ± 0.05

Benchmark Results: Push

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_Push 303.1 ± 1.2 301.4 305.2 1.04 ± 0.01
main_levm_Push 1056.1 ± 5.6 1049.5 1067.1 3.63 ± 0.02
pr_revm_Push 291.2 ± 0.9 290.1 292.9 1.00
pr_levm_Push 1022.3 ± 2.7 1020.3 1029.4 3.51 ± 0.01

Copy link

github-actions bot commented Jul 7, 2025

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.188 ± 0.034 3.163 3.273 1.01 ± 0.01
main_levm_BubbleSort 4.488 ± 0.013 4.469 4.515 1.42 ± 0.01
pr_revm_BubbleSort 3.161 ± 0.023 3.141 3.206 1.00
pr_levm_BubbleSort 4.613 ± 0.015 4.595 4.635 1.46 ± 0.01

Benchmark Results: ERC20Approval

Command Mean [s] Min [s] Max [s] Relative
main_revm_ERC20Approval 1.065 ± 0.007 1.057 1.080 1.02 ± 0.01
main_levm_ERC20Approval 1.557 ± 0.009 1.545 1.575 1.49 ± 0.02
pr_revm_ERC20Approval 1.045 ± 0.008 1.039 1.064 1.00
pr_levm_ERC20Approval 1.595 ± 0.014 1.584 1.625 1.53 ± 0.02

Benchmark Results: ERC20Mint

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_ERC20Mint 139.3 ± 0.9 138.4 140.9 1.01 ± 0.01
main_levm_ERC20Mint 259.2 ± 2.1 256.9 262.9 1.87 ± 0.02
pr_revm_ERC20Mint 138.4 ± 0.9 137.4 140.6 1.00
pr_levm_ERC20Mint 267.1 ± 0.6 265.9 267.8 1.93 ± 0.01

Benchmark Results: ERC20Transfer

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_ERC20Transfer 250.7 ± 2.2 248.6 254.7 1.02 ± 0.01
main_levm_ERC20Transfer 406.6 ± 2.7 404.3 413.2 1.66 ± 0.01
pr_revm_ERC20Transfer 245.5 ± 1.2 243.8 247.4 1.00
pr_levm_ERC20Transfer 418.3 ± 3.1 415.2 425.4 1.70 ± 0.01

Benchmark Results: Factorial

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_Factorial 236.0 ± 0.7 235.3 237.4 1.00
main_levm_Factorial 460.3 ± 27.7 450.0 539.1 1.95 ± 0.12
pr_revm_Factorial 236.8 ± 1.3 235.6 239.5 1.00 ± 0.01
pr_levm_Factorial 453.1 ± 4.4 450.4 465.2 1.92 ± 0.02

Benchmark Results: FactorialRecursive

Command Mean [s] Min [s] Max [s] Relative
main_revm_FactorialRecursive 1.638 ± 0.091 1.397 1.696 1.00
main_levm_FactorialRecursive 2.723 ± 0.019 2.704 2.762 1.66 ± 0.09
pr_revm_FactorialRecursive 1.668 ± 0.038 1.589 1.729 1.02 ± 0.06
pr_levm_FactorialRecursive 2.870 ± 0.025 2.820 2.894 1.75 ± 0.10

Benchmark Results: Fibonacci

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_Fibonacci 208.1 ± 0.5 207.2 208.7 1.00
main_levm_Fibonacci 454.0 ± 7.4 447.1 467.0 2.18 ± 0.04
pr_revm_Fibonacci 210.5 ± 2.9 208.5 218.0 1.01 ± 0.01
pr_levm_Fibonacci 447.7 ± 1.2 446.2 449.9 2.15 ± 0.01

Benchmark Results: FibonacciRecursive

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_FibonacciRecursive 920.8 ± 7.1 910.6 928.0 1.01 ± 0.02
main_levm_FibonacciRecursive 1412.5 ± 8.9 1399.9 1429.8 1.55 ± 0.02
pr_revm_FibonacciRecursive 912.5 ± 12.5 882.4 926.3 1.00
pr_levm_FibonacciRecursive 1536.1 ± 9.9 1521.9 1555.8 1.68 ± 0.03

Benchmark Results: ManyHashes

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_ManyHashes 8.8 ± 0.1 8.7 8.8 1.01 ± 0.01
main_levm_ManyHashes 13.6 ± 0.1 13.5 13.9 1.57 ± 0.02
pr_revm_ManyHashes 8.7 ± 0.0 8.7 8.8 1.00
pr_levm_ManyHashes 14.3 ± 0.1 14.1 14.4 1.64 ± 0.01

Benchmark Results: MstoreBench

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_MstoreBench 269.2 ± 1.8 266.9 272.9 1.00
main_levm_MstoreBench 925.7 ± 29.1 909.9 1005.7 3.44 ± 0.11
pr_revm_MstoreBench 271.3 ± 6.2 267.7 288.6 1.01 ± 0.02
pr_levm_MstoreBench 903.0 ± 2.7 898.0 907.3 3.35 ± 0.02

Benchmark Results: Push

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_Push 293.3 ± 2.2 290.4 296.6 1.01 ± 0.01
main_levm_Push 1025.9 ± 4.4 1014.7 1030.9 3.52 ± 0.02
pr_revm_Push 291.3 ± 0.9 290.1 293.1 1.00
pr_levm_Push 1052.8 ± 8.6 1040.4 1068.6 3.61 ± 0.03

Copy link

github-actions bot commented Jul 7, 2025

Benchmark for 0bdac20

Click to view benchmark
Test Base PR %
block payload building bench 0.2±0.00ns 0.2±0.00ns 0.00%

Copy link

github-actions bot commented Jul 7, 2025

Benchmark for ff610cc

Click to view benchmark
Test Base PR %
block payload building bench 0.2±0.00ns 0.2±0.00ns 0.00%

@edg-l edg-l moved this from In Progress to In review in ethrex_performance Jul 7, 2025
Copy link
Collaborator

@MegaRedHand MegaRedHand left a comment

Choose a reason for hiding this comment

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

The code looks cleaner 👍

Copy link

github-actions bot commented Jul 7, 2025

Benchmark for d2082d9

Click to view benchmark
Test Base PR %
block payload building bench 0.2±0.00ns 0.2±0.00ns 0.00%

Copy link

github-actions bot commented Jul 7, 2025

Benchmark Block Execution Results Comparison Against Main

Command Mean [s] Min [s] Max [s] Relative
base 210.610 ± 1.335 208.928 213.407 1.00 ± 0.01
head 210.390 ± 0.935 208.526 211.560 1.00

Copy link

github-actions bot commented Jul 8, 2025

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.186 ± 0.031 3.149 3.245 1.01 ± 0.01
main_levm_BubbleSort 4.504 ± 0.321 4.376 5.416 1.42 ± 0.10
pr_revm_BubbleSort 3.166 ± 0.010 3.156 3.186 1.00
pr_levm_BubbleSort 4.529 ± 0.040 4.486 4.595 1.43 ± 0.01

Benchmark Results: ERC20Approval

Command Mean [s] Min [s] Max [s] Relative
main_revm_ERC20Approval 1.027 ± 0.009 1.018 1.046 1.00
main_levm_ERC20Approval 1.520 ± 0.018 1.505 1.561 1.48 ± 0.02
pr_revm_ERC20Approval 1.040 ± 0.011 1.029 1.063 1.01 ± 0.01
pr_levm_ERC20Approval 1.546 ± 0.016 1.530 1.590 1.50 ± 0.02

Benchmark Results: ERC20Mint

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_ERC20Mint 136.6 ± 0.6 135.8 137.7 1.00
main_levm_ERC20Mint 258.1 ± 3.4 254.4 264.1 1.89 ± 0.03
pr_revm_ERC20Mint 140.7 ± 1.0 139.3 141.7 1.03 ± 0.01
pr_levm_ERC20Mint 254.0 ± 1.6 252.2 256.9 1.86 ± 0.01

Benchmark Results: ERC20Transfer

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_ERC20Transfer 241.5 ± 5.1 237.9 254.7 1.00
main_levm_ERC20Transfer 395.4 ± 1.7 392.4 397.9 1.64 ± 0.04
pr_revm_ERC20Transfer 244.2 ± 3.4 242.6 253.7 1.01 ± 0.03
pr_levm_ERC20Transfer 404.5 ± 1.9 401.9 408.2 1.68 ± 0.04

Benchmark Results: Factorial

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_Factorial 233.8 ± 2.1 232.4 238.8 1.00
main_levm_Factorial 441.8 ± 1.2 440.4 444.3 1.89 ± 0.02
pr_revm_Factorial 234.1 ± 3.1 232.3 241.9 1.00 ± 0.02
pr_levm_Factorial 460.6 ± 1.1 459.7 463.6 1.97 ± 0.02

Benchmark Results: FactorialRecursive

Command Mean [s] Min [s] Max [s] Relative
main_revm_FactorialRecursive 1.630 ± 0.040 1.517 1.653 1.00
main_levm_FactorialRecursive 2.671 ± 0.027 2.640 2.724 1.64 ± 0.04
pr_revm_FactorialRecursive 1.654 ± 0.039 1.598 1.703 1.01 ± 0.03
pr_levm_FactorialRecursive 2.706 ± 0.027 2.665 2.768 1.66 ± 0.04

Benchmark Results: Fibonacci

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_Fibonacci 216.1 ± 26.7 206.1 291.9 1.03 ± 0.13
main_levm_Fibonacci 440.4 ± 4.4 436.9 452.3 2.10 ± 0.05
pr_revm_Fibonacci 209.8 ± 4.9 206.0 221.1 1.00
pr_levm_Fibonacci 463.7 ± 26.0 452.8 537.2 2.21 ± 0.13

Benchmark Results: FibonacciRecursive

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_FibonacciRecursive 882.0 ± 14.1 864.7 902.7 1.00
main_levm_FibonacciRecursive 1389.1 ± 8.9 1381.1 1407.6 1.58 ± 0.03
pr_revm_FibonacciRecursive 890.7 ± 12.9 862.3 904.7 1.01 ± 0.02
pr_levm_FibonacciRecursive 1427.7 ± 8.6 1411.5 1442.7 1.62 ± 0.03

Benchmark Results: ManyHashes

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_ManyHashes 8.7 ± 0.1 8.6 8.8 1.00 ± 0.01
main_levm_ManyHashes 13.0 ± 0.1 12.9 13.2 1.50 ± 0.02
pr_revm_ManyHashes 8.7 ± 0.1 8.6 8.8 1.00
pr_levm_ManyHashes 13.6 ± 0.3 13.3 14.3 1.57 ± 0.03

Benchmark Results: MstoreBench

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_MstoreBench 268.5 ± 2.4 266.2 273.8 1.00
main_levm_MstoreBench 929.6 ± 3.9 925.6 937.8 3.46 ± 0.03
pr_revm_MstoreBench 269.5 ± 2.5 266.0 275.0 1.00 ± 0.01
pr_levm_MstoreBench 907.2 ± 3.6 903.4 916.0 3.38 ± 0.03

Benchmark Results: Push

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_Push 299.7 ± 2.2 297.4 305.1 1.00 ± 0.01
main_levm_Push 1036.8 ± 2.3 1034.5 1040.3 3.47 ± 0.02
pr_revm_Push 298.6 ± 1.4 297.1 301.6 1.00
pr_levm_Push 1009.4 ± 2.9 1006.7 1015.5 3.38 ± 0.02

Copy link

github-actions bot commented Jul 8, 2025

Benchmark for 5c24506

Click to view benchmark
Test Base PR %
block payload building bench 0.2±0.00ns 0.2±0.00ns 0.00%

@edg-l edg-l enabled auto-merge July 10, 2025 16:18
@edg-l edg-l added this pull request to the merge queue Jul 10, 2025
Copy link

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.221 ± 0.047 3.180 3.336 1.01 ± 0.02
main_levm_BubbleSort 4.509 ± 0.071 4.459 4.645 1.42 ± 0.02
pr_revm_BubbleSort 3.184 ± 0.015 3.164 3.215 1.00
pr_levm_BubbleSort 4.443 ± 0.054 4.409 4.593 1.40 ± 0.02

Benchmark Results: ERC20Approval

Command Mean [s] Min [s] Max [s] Relative
main_revm_ERC20Approval 1.029 ± 0.004 1.025 1.035 1.00
main_levm_ERC20Approval 1.536 ± 0.008 1.527 1.551 1.49 ± 0.01
pr_revm_ERC20Approval 1.038 ± 0.010 1.024 1.055 1.01 ± 0.01
pr_levm_ERC20Approval 1.540 ± 0.012 1.530 1.561 1.50 ± 0.01

Benchmark Results: ERC20Mint

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_ERC20Mint 138.7 ± 4.8 136.8 152.4 1.01 ± 0.04
main_levm_ERC20Mint 251.9 ± 2.8 248.7 257.3 1.83 ± 0.02
pr_revm_ERC20Mint 137.6 ± 0.5 136.9 138.6 1.00
pr_levm_ERC20Mint 249.0 ± 1.5 247.2 251.3 1.81 ± 0.01

Benchmark Results: ERC20Transfer

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_ERC20Transfer 241.5 ± 2.2 239.8 246.8 1.00
main_levm_ERC20Transfer 394.3 ± 2.5 392.5 400.2 1.63 ± 0.02
pr_revm_ERC20Transfer 244.9 ± 9.2 240.1 270.5 1.01 ± 0.04
pr_levm_ERC20Transfer 397.1 ± 2.8 393.3 402.1 1.64 ± 0.02

Benchmark Results: Factorial

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_Factorial 232.3 ± 0.8 230.6 233.6 1.00
main_levm_Factorial 494.9 ± 28.6 475.4 540.6 2.13 ± 0.12
pr_revm_Factorial 232.3 ± 0.8 231.3 233.7 1.00 ± 0.00
pr_levm_Factorial 506.8 ± 31.3 476.1 549.7 2.18 ± 0.13

Benchmark Results: FactorialRecursive

Command Mean [s] Min [s] Max [s] Relative
main_revm_FactorialRecursive 1.634 ± 0.020 1.598 1.659 1.02 ± 0.02
main_levm_FactorialRecursive 2.845 ± 0.063 2.794 3.018 1.77 ± 0.05
pr_revm_FactorialRecursive 1.604 ± 0.027 1.570 1.641 1.00
pr_levm_FactorialRecursive 2.777 ± 0.080 2.701 2.933 1.73 ± 0.06

Benchmark Results: Fibonacci

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_Fibonacci 205.7 ± 1.2 202.4 206.7 1.00
main_levm_Fibonacci 467.9 ± 9.6 462.2 494.2 2.28 ± 0.05
pr_revm_Fibonacci 207.3 ± 1.4 206.2 211.3 1.01 ± 0.01
pr_levm_Fibonacci 464.3 ± 1.9 462.1 468.4 2.26 ± 0.02

Benchmark Results: FibonacciRecursive

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_FibonacciRecursive 882.0 ± 6.5 870.5 891.3 1.03 ± 0.01
main_levm_FibonacciRecursive 1504.4 ± 36.3 1476.5 1573.9 1.76 ± 0.05
pr_revm_FibonacciRecursive 856.6 ± 8.1 840.8 866.6 1.00
pr_levm_FibonacciRecursive 1448.6 ± 38.4 1423.1 1524.4 1.69 ± 0.05

Benchmark Results: ManyHashes

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_ManyHashes 8.7 ± 0.0 8.6 8.8 1.00 ± 0.02
main_levm_ManyHashes 13.6 ± 0.1 13.5 13.7 1.56 ± 0.03
pr_revm_ManyHashes 8.7 ± 0.1 8.6 9.1 1.00
pr_levm_ManyHashes 13.4 ± 0.1 13.3 13.5 1.54 ± 0.03

Benchmark Results: MstoreBench

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_MstoreBench 267.1 ± 1.5 265.4 270.9 1.00
main_levm_MstoreBench 945.1 ± 2.2 941.9 949.6 3.54 ± 0.02
pr_revm_MstoreBench 285.7 ± 57.9 265.8 450.4 1.07 ± 0.22
pr_levm_MstoreBench 970.4 ± 4.8 962.5 976.0 3.63 ± 0.03

Benchmark Results: Push

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_Push 299.0 ± 2.3 296.5 304.6 1.01 ± 0.01
main_levm_Push 1101.3 ± 5.6 1091.9 1110.1 3.72 ± 0.03
pr_revm_Push 295.9 ± 1.4 293.6 298.2 1.00
pr_levm_Push 1061.1 ± 7.9 1055.6 1082.3 3.59 ± 0.03

Merged via the queue into main with commit dcb3c9c Jul 10, 2025
41 checks passed
@edg-l edg-l deleted the improve_blake2f_1 branch July 10, 2025 16:46
@github-project-automation github-project-automation bot moved this from In review to Done in ethrex_performance Jul 10, 2025
Copy link

Benchmark for 97c3041

Click to view benchmark
Test Base PR %
block payload building bench 0.2±0.00ns 0.2±0.00ns 0.00%

d-roak pushed a commit to 1sixtech/ethrex that referenced this pull request Jul 17, 2025
**Motivation**

Cleaner code and better perfomance

<!-- Why does this pull request exist? What are its goals? -->

Main

![image](https://github.com/user-attachments/assets/1112c9dc-7257-4c7f-a8ae-b26cc1190894)

pr

![image](https://github.com/user-attachments/assets/7cbdbe56-98d6-41ce-bc6a-11ad18a31208)


Improves blake2f 1 round mgas

**Description**

<!-- A clear and concise general description of the changes this PR
introduces -->

<!-- Link to issues: Resolves lambdaclass#111, Resolves lambdaclass#222 -->

Closes #issue_number
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.

3 participants