vyperlang / vyper

Pythonic Smart Contract Language for the EVM
https://vyperlang.org
Other
4.81k stars 788 forks source link

feat[venom]: improve liveness computation time #4086

Open charles-cooper opened 1 month ago

charles-cooper commented 1 month ago

What I did

reduce time spent in liveness by only recomputing liveness for basic blocks which need it (any of its cfg_out has changed).

reduces time in venom by 25% (e.g. CurveStableSwapNG-0.4.0.vy goes from 1.3s spent in venom to 1s).

there is also a slight codesize improvement. it seems to be sensitive to the order in which items are added to the worklist.

How I did it

How to verify it

Commit message

Commit message for the final, squashed PR. (Optional, but reviewers will appreciate it! Please see our commit message style guide for what we would ideally like to see in a commit message.)

Description for the changelog

Cute Animal Picture

![Put a link to a cute animal picture inside the parenthesis-->]()