era-compiler-llvm
era-compiler-llvm copied to clipboard
[EVM] Support for spilling constants to memory
Code Review Checklist
Purpose
Ticket Number
Requirements
- [ ] Have the requirements been met?
- [ ] Have stakeholder(s) approved the change?
Implementation
- [ ] Does this code change accomplish what it is supposed to do?
- [ ] Can this solution be simplified?
- [ ] Does this change add unwanted compile-time or run-time dependencies?
- [ ] Could an additional framework, API, library, or service improve the solution?
- [ ] Could we reuse part of LLVM instead of implementing the patch or a part of it?
- [ ] Is the code at the right abstraction level?
- [ ] Is the code modular enough?
- [ ] Can a better solution be found in terms of maintainability, readability, performance, or security?
- [ ] Does similar functionality already exist in the codebase? If yes, why isn’t it reused?
- [ ] Are there any best practices, design patterns or language-specific patterns that could substantially improve this code?
Logic Errors and Bugs
- [ ] Can you think of any use case in which the code does not behave as intended?
- [ ] Can you think of any inputs or external events that could break the code?
Error Handling and Logging
- [ ] Is error handling done the correct way?
- [ ] Should any logging or debugging information be added or removed?
- [ ] Are error messages user-friendly?
- [ ] Are there enough log events and are they written in a way that allows for easy debugging?
Maintainability
- [ ] Is the code easy to read?
- [ ] Is the code not repeated (DRY Principle)?
- [ ] Is the code method/class not too long?
Dependencies
- [ ] Were updates to documentation, configuration, or readme files made as required by this change?
- [ ] Are there any potential impacts on other parts of the system or backward compatibility?
Security
- [ ] Does the code introduce any security vulnerabilities?
Performance
- [ ] Do you think this code change decreases system performance?
- [ ] Do you see any potential to improve the performance of the code significantly?
Testing and Testability
- [ ] Is the code testable?
- [ ] Have automated tests been added, or have related ones been updated to cover the change?
- [ ] For changes to mutable state
- [ ] Do tests reasonably cover the code change (unit/integration/system tests)?
- [ ] Line Coverage
- [ ] Region Coverage
- [ ] Branch Coverage
- [ ] Are there some test cases, input or edge cases that should be tested in addition?
Readability
- [ ] Is the code easy to understand?
- [ ] Which parts were confusing to you and why?
- [ ] Can the readability of the code be improved by smaller methods?
- [ ] Can the readability of the code be improved by different function, method or variable names?
- [ ] Is the code located in the right file/folder/package?
- [ ] Do you think certain methods should be restructured to have a more intuitive control flow?
- [ ] Is the data flow understandable?
- [ ] Are there redundant or outdated comments?
- [ ] Could some comments convey the message better?
- [ ] Would more comments make the code more understandable?
- [ ] Could some comments be removed by making the code itself more readable?
- [ ] Is there any commented-out code?
- [ ] Have you run a spelling and grammar checker?
Documentation
- [ ] Is there sufficient documentation?
- [ ] Is the ReadMe.md file up to date?
Best Practices
- [ ] Follow Single Responsibility principle?
- [ ] Are different errors handled correctly?
- [ ] Are errors and warnings logged?
- [ ] Magic values avoided?
- [ ] No unnecessary comments?
- [ ] Minimal nesting used?
Experts' Opinion
- [ ] Do you think a specific expert, like a security expert or a usability expert, should look over the code before it can be accepted?
- [ ] Will this code change impact different teams, and should they review the change as well?
Results for: evm ir-llvm EVMInterpreter
╔═╡ Size (-%) ╞═══════════════════════╡ All E +M3B3 ╞═╗
║ Best 6.096 ║
║ Worst -0.364 ║
║ Total 0.058 ║
╠═╡ Cycles (-%) ╞═════════════════════╡ All E +M3B3 ╞═╣
║ Best 3.580 ║
║ Worst -3.572 ║
║ Total -0.003 ║
╠═╡ Ergs (-%) ╞═══════════════════════╡ All E +M3B3 ╞═╣
║ Best 4.326 ║
║ Worst -3.351 ║
║ Total -0.001 ║
╠══╡ Gas (-%) ╞═══════════════════════╡ All E +M3B3 ╞═╣
║ Best 6.137 ║
║ Worst -2.757 ║
║ Total 0.000 ║
╚═════════════════════════════════════════════════════╝
╔═╡ Size (-%) ╞═══════════════════════╡ All E +MzB3 ╞═╗
║ Best 1.435 ║
║ Worst -0.400 ║
║ Total 0.011 ║
╠═╡ Cycles (-%) ╞═════════════════════╡ All E +MzB3 ╞═╣
║ Best 0.964 ║
║ Worst -3.686 ║
║ Total -0.000 ║
╠═╡ Ergs (-%) ╞═══════════════════════╡ All E +MzB3 ╞═╣
║ Best 1.255 ║
║ Worst -0.913 ║
║ Total 0.000 ║
╠══╡ Gas (-%) ╞═══════════════════════╡ All E +MzB3 ╞═╣
║ Best 1.447 ║
║ Worst -2.809 ║
║ Total 0.000 ║
╚═════════════════════════════════════════════════════╝
╔═╡ Size (-%) ╞═══════════════════════╡ All Y +M3B3 ╞═╗
║ Best 26.819 ║
║ Worst 0.000 ║
║ Total 0.293 ║
╠═╡ Cycles (-%) ╞═════════════════════╡ All Y +M3B3 ╞═╣
║ Best 11.017 ║
║ Worst -7.271 ║
║ Total -0.005 ║
╠═╡ Ergs (-%) ╞═══════════════════════╡ All Y +M3B3 ╞═╣
║ Best 14.421 ║
║ Worst -6.264 ║
║ Total 0.003 ║
╠══╡ Gas (-%) ╞═══════════════════════╡ All Y +M3B3 ╞═╣
║ Best 27.183 ║
║ Worst -6.383 ║
║ Total 0.000 ║
╚═════════════════════════════════════════════════════╝
╔═╡ Size (-%) ╞═══════════════════════╡ All Y +MzB3 ╞═╗
║ Best 4.644 ║
║ Worst 0.000 ║
║ Total 0.061 ║
╠═╡ Cycles (-%) ╞═════════════════════╡ All Y +MzB3 ╞═╣
║ Best 4.968 ║
║ Worst -3.610 ║
║ Total 0.003 ║
╠═╡ Ergs (-%) ╞═══════════════════════╡ All Y +MzB3 ╞═╣
║ Best 4.617 ║
║ Worst -0.792 ║
║ Total 0.004 ║
╠══╡ Gas (-%) ╞═══════════════════════╡ All Y +MzB3 ╞═╣
║ Best 5.626 ║
║ Worst -2.174 ║
║ Total 0.000 ║
╚═════════════════════════════════════════════════════╝
╔═╡ Size (-%) ╞═════════════════╡ Real life E +M3B3 ╞═╗
║ Best 1.751 ║
║ Worst 0.000 ║
║ Total 0.416 ║
╠═╡ Cycles (-%) ╞═══════════════╡ Real life E +M3B3 ╞═╣
║ Best 0.995 ║
║ Worst 0.000 ║
║ Total 0.071 ║
╠═╡ Ergs (-%) ╞═════════════════╡ Real life E +M3B3 ╞═╣
║ Best 1.258 ║
║ Worst 0.000 ║
║ Total 0.198 ║
╠══╡ Gas (-%) ╞═════════════════╡ Real life E +M3B3 ╞═╣
║ Best 1.879 ║
║ Worst 0.000 ║
║ Total 0.552 ║
╚═════════════════════════════════════════════════════╝
╔═╡ Size (-%) ╞═════════════════╡ Real life E +MzB3 ╞═╗
║ Best 0.773 ║
║ Worst 0.000 ║
║ Total 0.169 ║
╠═╡ Cycles (-%) ╞═══════════════╡ Real life E +MzB3 ╞═╣
║ Best 0.718 ║
║ Worst 0.000 ║
║ Total 0.074 ║
╠═╡ Ergs (-%) ╞═════════════════╡ Real life E +MzB3 ╞═╣
║ Best 0.933 ║
║ Worst 0.000 ║
║ Total 0.141 ║
╠══╡ Gas (-%) ╞═════════════════╡ Real life E +MzB3 ╞═╣
║ Best 0.814 ║
║ Worst 0.000 ║
║ Total 0.220 ║
╚═════════════════════════════════════════════════════╝
╔═╡ Size (-%) ╞═════════════════╡ Real life Y +M3B3 ╞═╗
║ Best 1.904 ║
║ Worst 0.000 ║
║ Total 0.816 ║
╠═╡ Cycles (-%) ╞═══════════════╡ Real life Y +M3B3 ╞═╣
║ Best 1.395 ║
║ Worst -3.338 ║
║ Total 0.057 ║
╠═╡ Ergs (-%) ╞═════════════════╡ Real life Y +M3B3 ╞═╣
║ Best 1.521 ║
║ Worst -0.772 ║
║ Total 0.385 ║
╠══╡ Gas (-%) ╞═════════════════╡ Real life Y +M3B3 ╞═╣
║ Best 1.977 ║
║ Worst -0.656 ║
║ Total 0.902 ║
╚═════════════════════════════════════════════════════╝
╔═╡ Size (-%) ╞═════════════════╡ Real life Y +MzB3 ╞═╗
║ Best 1.321 ║
║ Worst 0.000 ║
║ Total 0.646 ║
╠═╡ Cycles (-%) ╞═══════════════╡ Real life Y +MzB3 ╞═╣
║ Best 0.775 ║
║ Worst -3.610 ║
║ Total 0.059 ║
╠═╡ Ergs (-%) ╞═════════════════╡ Real life Y +MzB3 ╞═╣
║ Best 0.972 ║
║ Worst -0.792 ║
║ Total 0.259 ║
╠══╡ Gas (-%) ╞═════════════════╡ Real life Y +MzB3 ╞═╣
║ Best 1.305 ║
║ Worst -0.650 ║
║ Total 0.651 ║
╚═════════════════════════════════════════════════════╝
Codecov Report
:x: Patch coverage is 94.57364% with 7 lines in your changes missing coverage. Please review.
:white_check_mark: Project coverage is 30.04%. Comparing base (21ad3b2) to head (579c8a3).
Additional details and impacted files
@@ Coverage Diff @@
## main #885 +/- ##
=======================================
Coverage 30.03% 30.04%
=======================================
Files 2430 2431 +1
Lines 704105 704196 +91
Branches 176501 176520 +19
=======================================
+ Hits 211480 211571 +91
- Misses 448676 448679 +3
+ Partials 43949 43946 -3
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
:rocket: New features to boost your workflow:
- :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
- :package: JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.
📊 Excel Report Available
Benchmarks measured for:
- solx candidate version:
solx, LLVM-based Solidity compiler for the EVM v0.1.3, LLVM revision: v1.0.2, LLVM build: 579c8a3a6cb22ac4c555b21484289bad2195a2b9 - solx ToT version:
solx, LLVM-based Solidity compiler for the EVM v0.1.3, LLVM revision: v1.0.2, LLVM build: 21ad3b2622ce8c5da2182edd0d99b3af521b8de2 - solx latest release version:
solx, LLVM-based Solidity compiler for the EVM v0.1.2, LLVM revision: v1.0.2, LLVM build: aec023355f43d8ece02249360ba84e749fb5cb3f - solc version:
0.8.30
:white_check_mark: With the latest revision this PR passed the C/C++ code formatter.
📊 evm compiler-tester excel report
Benchmarks measured for:
- target machine:
evm - toolchain:
ir-llvm - environment:
REVM
| Project | Mode | Compiled (solc / solx / Total) | Passed (solc / solx / Total) |
|---|---|---|---|
| openzeppelin | default | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 382 / 382 / 382 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 328 / 328 / 330 |
| viaIR | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 382 / 382 / 382 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 328 / 328 / 330 | |
| lil-web3 | default | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 20 / 20 / 20 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 68 / 68 / 68 |
| viaIR | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 20 / 20 / 20 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 66 / 68 / 68 | |
| maple-erc20 | default | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 28 / 28 / 28 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 29 / 29 / 29 |
| viaIR | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 28 / 28 / 28 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 29 / 29 / 29 | |
| diamonds | default | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 17 / 17 / 17 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 1 / 1 / 1 |
| viaIR | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 17 / 17 / 17 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 1 / 1 / 1 | |
| rollcall | default | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 64 / 64 / 64 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 14 / 14 / 14 |
| viaIR | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 64 / 64 / 64 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 14 / 14 / 14 | |
| playpen | default | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 43 / 43 / 43 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 6 / 6 / 9 |
| viaIR | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 43 / 43 / 43 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 6 / 6 / 9 | |
| solmate | default | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 60 / 60 / 60 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 55 / 55 / 69 |
| viaIR | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 60 / 60 / 60 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 55 / 55 / 69 | |
| prb-math | default | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 106 / 106 / 106 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 323 / 323 / 323 |
| viaIR | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 106 / 106 / 106 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 323 / 323 / 323 | |
| solady | default | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 208 / 208 / 208 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 1571 / 1571 / 1571 |
| viaIR | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 208 / 208 / 208 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 1571 / 1571 / 1571 | |
| unix | default | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 21 / 21 / 21 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 2 / 2 / 3 |
| viaIR | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 21 / 21 / 21 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 0 / 2 / 0 | |
| foundry-upgrades | default | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 22 / 22 / 22 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 3 / 3 / 3 |
| viaIR | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 22 / 22 / 22 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 3 / 3 / 3 | |
| art-gobblers | default | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 56 / 56 / 56 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 127 / 127 / 127 |
| viaIR | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 56 / 56 / 56 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 121 / 121 / 127 | |
| lens-core | default | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 320 / 320 / 320 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 0 / 1876 / 0 |
| viaIR | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 320 / 320 / 320 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 0 / 1877 / 0 | |
| balance-snapshot | default | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 20 / 20 / 20 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 5 / 5 / 5 |
| viaIR | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 20 / 20 / 20 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 5 / 5 / 5 | |
| diamond-foundry | default | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 26 / 26 / 26 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 40 / 40 / 44 |
| viaIR | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 26 / 26 / 26 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 40 / 40 / 44 | |
| forge-std | default | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 50 / 50 / 50 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 194 / 194 / 194 |
| viaIR | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 50 / 50 / 50 | ⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜ 194 / 0 / 194 | |
| tokenlon | default | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 121 / 121 / 121 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 53 / 53 / 67 |
| viaIR | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 121 / 121 / 121 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 53 / 53 / 67 | |
| uniswap-v4 | default | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 160 / 160 / 160 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 598 / 598 / 598 |
| viaIR | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 160 / 160 / 160 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 598 / 598 / 598 | |
| beefy | default | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 164 / 164 / 164 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 2 / 2 / 34 |
| viaIR | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 164 / 164 / 164 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 2 / 2 / 34 | |
| gov-of-venice | default | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 25 / 25 / 25 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 25 / 25 / 26 |
| viaIR | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 25 / 25 / 25 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 24 / 25 / 26 | |
| cicada | default | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 23 / 23 / 23 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 0 / 546 / 0 |
| viaIR | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 23 / 23 / 23 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 0 / 546 / 0 | |
| lens-v3 | default | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 240 / 240 / 240 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 656 / 656 / 657 |
| viaIR | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 240 / 240 / 240 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 0 / 656 / 0 | |
| morpho-blue | default | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 74 / 74 / 74 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 145 / 145 / 145 |
| viaIR | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 74 / 74 / 74 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 145 / 145 / 145 | |
| aave-v3 | default | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 473 / 473 / 473 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 980 / 980 / 980 |
| viaIR | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 473 / 473 / 473 | 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 979 / 980 / 980 |
| Project | Mode | Compile (solx/solc/Δs/Δ%) | Run (solx/solc/Δs/Δ%) | Size warnings (solx/solc) |
|---|---|---|---|---|
| openzeppelin | default | 13.82s / 18.41s / -4.58s / -25% 📉 | 2.47s / 2.88s / -0.41s / -14% 📉 | 2 / 3 |
| viaIR | 15.05s / 57.88s / -42.83s / -74% 📉 | 2.48s / 3.19s / -0.71s / -22% 📉 | 2 / 3 | |
| lil-web3 | default | 2.57s / 2.33s / +0.24s / +10% 📈 | 0.16s / 0.15s / +0.01s / +6% 📈 | 0 / 0 |
| viaIR | 2.16s / 10.32s / -8.16s / -79% 📉 | 0.16s / 0.14s / +0.01s / +8% 📈 | 1 / 1 | |
| maple-erc20 | default | 2.18s / 1.74s / +0.45s / +26% 📈 | 0.16s / 0.17s / -0.01s / -4% ➖ | 0 / 0 |
| viaIR | 1.77s / 4.98s / -3.21s / -64% 📉 | 0.16s / 0.16s / +0.00s / +3% ➖ | 0 / 0 | |
| diamonds | default | 1.97s / 0.99s / +0.98s / +98% 📈 | 0.49s / 0.49s / +0.01s / +1% ➖ | 0 / 0 |
| viaIR | 1.63s / 2.58s / -0.95s / -37% 📉 | 0.49s / 0.49s / +0.00s / +0% ➖ | 0 / 0 | |
| rollcall | default | 2.81s / 2.83s / -0.03s / -1% ➖ | 0.16s / 0.16s / +0.00s / +2% ➖ | 0 / 2 |
| viaIR | 2.50s / 11.03s / -8.53s / -77% 📉 | 0.16s / 0.16s / -0.01s / -3% ➖ | 1 / 2 | |
| playpen | default | 2.63s / 1.86s / +0.77s / +42% 📈 | 0.17s / 0.17s / +0.01s / +4% ➖ | 0 / 6 |
| viaIR | 2.12s / 7.46s / -5.33s / -72% 📉 | 0.17s / 0.17s / +0.01s / +4% ➖ | 0 / 6 | |
| solmate | default | 9.10s / 5.83s / +3.27s / +56% 📈 | 0.14s / 0.13s / +0.01s / +5% 📈 | 2 / 7 |
| viaIR | 5.26s / 33.04s / -27.79s / -84% 📉 | 0.14s / 0.13s / +0.01s / +6% 📈 | 4 / 9 | |
| prb-math | default | 6.29s / 6.72s / -0.43s / -6% 📉 | 0.17s / 0.15s / +0.01s / +8% 📈 | 0 / 0 |
| viaIR | 7.58s / 31.85s / -24.27s / -76% 📉 | 0.16s / 0.16s / +0.00s / +2% ➖ | 0 / 0 | |
| solady | default | 21.53s / 26.98s / -5.44s / -20% 📉 | 0.67s / 0.68s / -0.01s / -1% ➖ | 19 / 21 |
| viaIR | 21.46s / 164.31s / -142.84s / -87% 📉 | 0.69s / 0.68s / +0.01s / +1% ➖ | 25 / 23 | |
| unix | default | 2.38s / 1.50s / +0.88s / +59% 📈 | 0.17s / 0.16s / +0.01s / +7% 📈 | 0 / 1 |
| viaIR | 1.94s / 3.72s / -1.78s / -48% 📉 | 0.19s / 0.20s / -0.01s / -6% 📉 | 0 / 0 | |
| foundry-upgrades | default | 1.16s / 0.90s / +0.26s / +29% 📈 | 0.15s / 0.14s / +0.00s / +1% ➖ | 0 / 0 |
| viaIR | 0.97s / 2.46s / -1.49s / -61% 📉 | 0.15s / 0.15s / +0.01s / +3% ➖ | 0 / 0 | |
| art-gobblers | default | 7.78s / 4.51s / +3.27s / +72% 📈 | 0.59s / 0.63s / -0.05s / -7% 📉 | 1 / 19 |
| viaIR | 5.85s / 23.52s / -17.67s / -75% 📉 | 0.61s / 0.65s / -0.05s / -7% 📉 | 1 / 22 | |
| lens-core | default | 101.95s / 10.45s / +91.49s / +875% 📈 | 3.03s / 13.08s / -10.05s / -77% 📉 | 85 / 0 |
| viaIR | 69.18s / 455.12s / -385.94s / -85% 📉 | 3.16s / 459.14s / -455.97s / -99% 📉 | 83 / 0 | |
| balance-snapshot | default | 2.07s / 0.86s / +1.21s / +141% 📈 | 0.12s / 0.12s / +0.01s / +6% 📈 | 0 / 0 |
| viaIR | 1.71s / 2.60s / -0.89s / -34% 📉 | 0.12s / 0.12s / +0.00s / +3% ➖ | 0 / 0 | |
| diamond-foundry | default | 3.20s / 2.29s / +0.91s / +40% 📈 | 0.14s / 0.14s / +0.01s / +5% 📈 | 0 / 1 |
| viaIR | 1.90s / 6.36s / -4.46s / -70% 📉 | 0.14s / 0.13s / +0.01s / +7% 📈 | 0 / 0 | |
| forge-std | default | 10.37s / 7.91s / +2.46s / +31% 📈 | 15.78s / 36.59s / -20.81s / -57% 📉 | 7 / 7 |
| viaIR | 7.52s / 38.07s / -30.55s / -80% 📉 | 37.99s / 44.15s / -6.15s / -14% 📉 | 8 / 8 | |
| tokenlon | default | 18.00s / 19.31s / -1.32s / -7% 📉 | 0.25s / 0.26s / -0.00s / -0% ➖ | 9 / 26 |
| viaIR | 11.97s / 97.20s / -85.23s / -88% 📉 | 0.25s / 0.26s / -0.01s / -2% ➖ | 11 / 28 | |
| uniswap-v4 | default | 21.68s / 18.16s / +3.52s / +19% 📈 | 2.66s / 2.65s / +0.01s / +0% ➖ | 4 / 33 |
| viaIR | 15.84s / 99.27s / -83.43s / -84% 📉 | 2.62s / 2.66s / -0.04s / -1% ➖ | 7 / 35 | |
| beefy | default | 15.39s / 19.64s / -4.25s / -22% 📉 | 0.21s / 0.20s / +0.01s / +5% 📈 | 14 / 27 |
| viaIR | 13.21s / 111.33s / -98.12s / -88% 📉 | 0.20s / 0.22s / -0.02s / -9% 📉 | 15 / 26 | |
| gov-of-venice | default | 5.10s / 3.68s / +1.42s / +39% 📈 | 0.47s / 0.59s / -0.12s / -20% 📉 | 2 / 10 |
| viaIR | 3.52s / 24.21s / -20.69s / -85% 📉 | 0.51s / 0.56s / -0.05s / -8% 📉 | 2 / 10 | |
| lens-v3 | default | 76.40s / 48.19s / +28.21s / +59% 📈 | 0.40s / 0.46s / -0.06s / -14% 📉 | 32 / 60 |
| viaIR | 45.45s / 10.20s / +35.25s / +345% 📈 | 0.40s / 10.19s / -9.79s / -96% 📉 | 33 / 0 | |
| morpho-blue | default | 9.40s / 11.67s / -2.27s / -19% 📉 | 0.19s / 0.20s / -0.01s / -3% ➖ | 6 / 34 |
| viaIR | 7.87s / 65.55s / -57.67s / -88% 📉 | 0.19s / 0.20s / -0.01s / -3% ➖ | 9 / 33 | |
| aave-v3 | default | 214.46s / 113.54s / +100.92s / +89% 📈 | 0.66s / 0.66s / +0.00s / +1% ➖ | 80 / 164 |
| viaIR | 126.90s / 921.03s / -794.12s / -86% 📉 | 0.68s / 0.67s / +0.01s / +1% ➖ | 84 / 164 |