-
Notifications
You must be signed in to change notification settings - Fork 46.8k
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
[compiler] add fixture for optimization across scopes #29998
[compiler] add fixture for optimization across scopes #29998
Conversation
[ghstack-poisoned]
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
ghstack-source-id: 4d0c53335dc649065162a156a8cb1ccd22f6de75 Pull Request resolved: #29998
Comparing: 0f56841...137e4f0 Critical size changesIncludes critical production bundles, as well as any change greater than 2%:
Significant size changesIncludes any change greater than 0.2%: Expand to show
|
Adds a fixture based on internal case where our current output is quite a bit more verbose than the original memoization. See the comment in the fixture for more about the heuristic we can apply. [ghstack-poisoned]
Adds a fixture based on internal case where our current output is quite a bit more verbose than the original memoization. See the comment in the fixture for more about the heuristic we can apply. ghstack-source-id: 3ec7f6d7649c9e5cbf5835f238bda2b4dbaf7fb6 Pull Request resolved: #29998
Adds a fixture based on internal case where our current output is quite a bit more verbose than the original memoization. See the comment in the fixture for more about the heuristic we can apply. [ghstack-poisoned]
Adds a fixture based on internal case where our current output is quite a bit more verbose than the original memoization. See the comment in the fixture for more about the heuristic we can apply. ghstack-source-id: d92c6d91700ad107882ba795e18416b3f587dae9 Pull Request resolved: #29998
Adds a fixture based on internal case where our current output is quite a bit more verbose than the original memoization. See the comment in the fixture for more about the heuristic we can apply. [ghstack-poisoned]
Adds a fixture based on internal case where our current output is quite a bit more verbose than the original memoization. See the comment in the fixture for more about the heuristic we can apply. ghstack-source-id: dc6143fd160ec727779d3a47645a5e723c1c5bc7 Pull Request resolved: #29998
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Makes a lot of sense! I would be curious about the breakdown of the additional cost of not merging these scopes -- is it equal amounts of 1.) minified codesize, 2.) additional stack / locals allocations and JS-engine exec cost, and 3.) additional memo cache slots?
If we believe regressions are mostly coming from the last category, I wonder if we should also focus on optimizations along the lines of deduping dependency checking + caching across scopes. This would of course be limited to control flow boundaries (e.g. we wouldn't be able to dedupe across early returns).
Adds a fixture based on internal case where our current output is quite a bit more verbose than the original memoization. See the comment in the fixture for more about the heuristic we can apply. [ghstack-poisoned]
Adds a fixture based on internal case where our current output is quite a bit more verbose than the original memoization. See the comment in the fixture for more about the heuristic we can apply. ghstack-source-id: 05f3ddaa98f3f937777dc963ef25912be4281045 Pull Request resolved: #29998
Adds a fixture based on internal case where our current output is quite a bit more verbose than the original memoization. See the comment in the fixture for more about the heuristic we can apply. [ghstack-poisoned]
Adds a fixture based on internal case where our current output is quite a bit more verbose than the original memoization. See the comment in the fixture for more about the heuristic we can apply. ghstack-source-id: 78d1cae17b7d1ac029165907955aac80a90272ea Pull Request resolved: #29998
Adds a fixture based on internal case where our current output is quite a bit more verbose than the original memoization. See the comment in the fixture for more about the heuristic we can apply. [ghstack-poisoned]
Adds a fixture based on internal case where our current output is quite a bit more verbose than the original memoization. See the comment in the fixture for more about the heuristic we can apply. ghstack-source-id: f8107b02cee076667682a54c4c7387398ca2639d Pull Request resolved: #29998
Adds a fixture based on internal case where our current output is quite a bit more verbose than the original memoization. See the comment in the fixture for more about the heuristic we can apply. [ghstack-poisoned]
Adds a fixture based on internal case where our current output is quite a bit more verbose than the original memoization. See the comment in the fixture for more about the heuristic we can apply. ghstack-source-id: e637a3814077559a1a56724eafe2567efed0b8d7 Pull Request resolved: #29998
Adds a fixture based on internal case where our current output is quite a bit more verbose than the original memoization. See the comment in the fixture for more about the heuristic we can apply. ghstack-source-id: e637a3814077559a1a56724eafe2567efed0b8d7 Pull Request resolved: #29998
Stack from ghstack (oldest at bottom):
Adds a fixture based on internal case where our current output is quite a bit more verbose than the original memoization. See the comment in the fixture for more about the heuristic we can apply.