-
-
Notifications
You must be signed in to change notification settings - Fork 391
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
refactor(isolated-declarations): reorganize scope tree #4070
Conversation
This reorganizes scope fields into levels which atomically follow the enter/leave pattern. It avoids tracking the same lenght and capacity separately for each property, and does not need to grow multiple vectors while traversing.
Your org has enabled the Graphite merge queue for merging into mainAdd the label “merge” to the PR and Graphite will automatically add it to the merge queue when it’s ready to merge. Or use the label “hotfix” to add to the merge queue as a hot fix. You must have a Graphite account and log in to Graphite in order to use the merge queue. Sign up using this link. |
CodSpeed Performance ReportMerging #4070 will not alter performanceComparing Summary
|
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.
Great work. Thank you!
## [0.17.1] - 2024-07-06 ### Bug Fixes - aa585d3 ast_codegen, ast: Visit `ExpressionArrayElement` as `Expression`. (#4061) (rzvxa) - 564a75a codegen: Missing TypeParameters in TSConstructSignature (#4063) (michaelm) - adee728 isolated_declarations: Don't report an error for parameters if they are ObjectPattern or ArrayPattern with an explicit type (#4065) (michaelm) - 1b8f208 isolated_declarations: Correct emit for private static methods (#4064) (michaelm) - 719fb96 minifier: Omit dce `undefined` which can be a shadowed variable (#4073) (Boshen) - 150f4d9 napi/transform: Display error with spanned messages (Boshen) ### Performance - 7fe2a2f parser: Do not copy comments (#4067) (overlookmotel) ### Refactor - 8fa98e0 ast: Inline trivial functions and shorten code (#4066) (overlookmotel) - 65aee19 isolated-declarations: Reorganize scope tree (#4070) (Luca Bruno) Co-authored-by: Boshen <Boshen@users.noreply.github.com>
@lucab Just out of interest, did you see any performance change from this PR? I think it was before we added a benchmark on CodSpeed for isolated-declarations. I'm looking at revamping |
@overlookmotel I didn't have good benchmarks to compare, but running some small examples through That said, here there was no consumer using the SoA to slice through a single field, but instead all Vecs were pushed/popped at the same time. |
From the benchmark results, there is no difference in performance. However, this makes the code organization clearer. |
OK cool. Thanks both for coming back. You're right lucab that |
This reorganizes scope fields into levels which atomically follow the enter/leave pattern. It avoids tracking the same lenght and capacity separately for each property, and does not need to grow multiple vectors while traversing.