Stack shuffling refactor
Benchmarks results:
-
developbranch (commit 272892e9):
| File | Pipeline | Bytecode size | Time | Exit code |
|---|---|---|---|---|
verifier.sol |
legacy | 4874 bytes | 0.13 s | 0 |
verifier.sol |
via-ir | 4351 bytes | 0.59 s | 0 |
OptimizorClub.sol |
legacy | 0 bytes | 0.46 s | 1 |
OptimizorClub.sol |
via-ir | 22193 bytes | 3.38 s | 0 |
chains.sol |
legacy | 5845 bytes | 0.17 s | 0 |
chains.sol |
via-ir | 23043 bytes | 15.12 s | 0 |
- This branch:
| File | Pipeline | Bytecode size | Time | Exit code |
|---|---|---|---|---|
verifier.sol |
legacy | 4874 bytes | 0.14 s | 0 |
verifier.sol |
via-ir | 4351 bytes | 0.58 s | 0 |
OptimizorClub.sol |
legacy | 0 bytes | 0.47 s | 1 |
OptimizorClub.sol |
via-ir | 22193 bytes | 3.33 s | 0 |
chains.sol |
legacy | 5845 bytes | 0.17 s | 0 |
chains.sol |
via-ir | 23043 bytes | 12.15 s | 0 |
So only chains.sol is affected, just like in #14112? Odd. We need more benchmark contracts.
It would be interesting to see it benchmarked the way I did in https://github.com/ethereum/solidity/pull/14854#issuecomment-2070222067
This would show pure compilation time on some actual projects (I chose Uniswap v4 and Seaport since their latest versions compile without any workarounds) but with less variance than we see in CI. Or at least in a way that makes it easier to run multiple times and average the results.
On the topic of the PR itself - I tried to review it but the diff is almost useless due to all the moved code. It also has no description or changelog and commit descriptions are not very informative, so I'm not really sure what to expect here. The title sounds as if you were just making the code nicer but it does not seem to be all that you're doing here. If you could separate the refactors from actual functional changes, it would be much easier to review.
This pull request is stale because it has been open for 14 days with no activity.
It will be closed in 7 days unless the stale label is removed.
This pull request is stale because it has been open for 14 days with no activity.
It will be closed in 7 days unless the stale label is removed.
This pull request was closed due to a lack of activity for 7 days after it was stale.