-
-
Notifications
You must be signed in to change notification settings - Fork 715
perf(linter/plugins): speed up SourceCode#getAncestors
#14747
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
perf(linter/plugins): speed up SourceCode#getAncestors
#14747
Conversation
How to use the Graphite Merge QueueAdd either label to this PR to merge it via the merge queue:
You must have a Graphite account in order to use the merge queue. Sign up using this link. An organization admin has enabled the Graphite Merge Queue in this repository. Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue. This stack of pull requests is managed by Graphite. Learn more about stacking. |
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.
Pull Request Overview
This PR optimizes the getAncestors function in the SourceCode plugin by refactoring the loop structure for better performance. The changes simplify the code by eliminating a temporary variable and improving the loop termination condition.
- Replaced for-loop with while-loop to remove temporary
ancestorvariable - Changed loop termination from truthiness check to explicit
=== nullcomparison - Reduced code repetition by consolidating parent access logic
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Merge activity
|
Optimize `SourceCode#getAncestors`: * Remove temp var `ancestor`. * Reduce code repetition. * Check for end of loop with `=== null` (instead of truthiness test).
90ab539 to
cdd9b1b
Compare
cdd9b1b to
93e9ef6
Compare
Optimize `SourceCode#getAncestors`: * Remove temp var `ancestor`. * Reduce code repetition. * Check for end of loop with `=== null` (instead of truthiness test).
93e9ef6 to
e6f351d
Compare

Optimize
SourceCode#getAncestors:ancestor.=== null(instead of truthiness test).