-
Notifications
You must be signed in to change notification settings - Fork 18
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
Add a file provider that avoids ts program walk #100
Merged
smikula
merged 8 commits into
smikula:master
from
Adjective-Object:u/mahuangh/faster-source-providers-3
Aug 13, 2021
Merged
Add a file provider that avoids ts program walk #100
smikula
merged 8 commits into
smikula:master
from
Adjective-Object:u/mahuangh/faster-source-providers-3
Aug 13, 2021
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Adds a faster file provider that discovers source and fence files with a fast asyncronous file walk rather than by relying on typescript to perform a syncronous walk + parse of the program. We still use typescript to parse compilerOptions, but since we no longer rely on the typescript program walk to identify files, we stub out file discovery so only the initial config partse happens. Also adds config options to support switching between the two providers, since it will only work when all source files you intend to check fences against fall under your rootDirs. This is the case for OWA, but I don't know what other consumers look like. Depends on u/mahuangh/faster-source-providers-2
smikula
reviewed
Aug 13, 2021
smikula
reviewed
Aug 13, 2021
smikula
reviewed
Aug 13, 2021
smikula
requested changes
Aug 13, 2021
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.
This looks great. I wish we didn't have to bend over backwards to get good perf relative to typescript, but the speed gains are impressive! I just left a handful of nitpick comments.
smikula
approved these changes
Aug 13, 2021
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Adds a faster file provider that discovers source and fence files with a
fast asyncronous file walk rather than by relying on typescript to
perform a syncronous walk + parse of the program.
We still use typescript to parse compilerOptions, but since we no longer
rely on the typescript program walk to identify files, we stub out file
discovery so only the initial config parse happens.
Also adds config options to support switching between the two providers,
since it will only work when all source files you intend to check fences
against fall under your rootDirs.
This is the case for OWA, but I don't know what other consumers look
like.
Depends on u/mahuangh/faster-source-providers-2
Quick (completely nonscientific) test for impact on performance: