[rush] Improve startup performance with read cache #2838
Merged
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.
Summary
Introduces read caching into
RigConfig
andRushProjectConfiguration
, to reduce redundant work during startup.Stops instantiating an
Ignorer
instance if the project does not have arush-project.json
(either locally or from a rig).Details
Instantiation of
Ignorer
was superfluous when no rules were present, and saves performance by being skipped.Caching of
RigConfig
andRushProjectConfiguration
removes duplicate reads between the ProjectChangeAnalyzer initialization and subsequent reads for the build cache feature.How it was tested
Comparing
rush tab-complete
andrush list
between the repo command and the locally built version shows about a 50% savings in the@rushstack
repo.