-
Notifications
You must be signed in to change notification settings - Fork 12.9k
Open
Labels
Domain: --incrementalThe issue relates to incremental compilationThe issue relates to incremental compilationDomain: PerformanceReports of unusually slow behaviorReports of unusually slow behaviorDomain: TSServerIssues related to the TSServerIssues related to the TSServerExperimentation NeededSomeone needs to try this out to see what happensSomeone needs to try this out to see what happensIn DiscussionNot yet reached consensusNot yet reached consensusNeeds ProposalThis issue needs a plan that clarifies the finer details of how it could be implemented.This issue needs a plan that clarifies the finer details of how it could be implemented.SuggestionAn idea for TypeScriptAn idea for TypeScript
Description
One thing that users often hit is that file navigation might trigger opening an entire project. Opening an entire project involves
- File loading
- Scanning/parsing
- Resolving dependencies
- Keep repeating file loading on dependencies until no new files are found
This is a lot of work! If a user jumps back and forth from this file, it can re-trigger this work even if nothing has changed!
A .tsbuildinfo
file is used to save time on cold compiler invocations doing this exact set of work, and to reduce work when something actually has changed. It would be interesting to see whether generating a .tsbuildinfo
file after project loads could help cut down on this work.
Metadata
Metadata
Assignees
Labels
Domain: --incrementalThe issue relates to incremental compilationThe issue relates to incremental compilationDomain: PerformanceReports of unusually slow behaviorReports of unusually slow behaviorDomain: TSServerIssues related to the TSServerIssues related to the TSServerExperimentation NeededSomeone needs to try this out to see what happensSomeone needs to try this out to see what happensIn DiscussionNot yet reached consensusNot yet reached consensusNeeds ProposalThis issue needs a plan that clarifies the finer details of how it could be implemented.This issue needs a plan that clarifies the finer details of how it could be implemented.SuggestionAn idea for TypeScriptAn idea for TypeScript