Skip to content

Consider some way of serializing open projects in tsserver, potentially leveraging .tsbuildinfo files #35113

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

Open
DanielRosenwasser opened this issue Nov 14, 2019 · 0 comments
Labels
Domain: --incremental The issue relates to incremental compilation Domain: Performance Reports of unusually slow behavior Domain: TSServer Issues related to the TSServer Experimentation Needed Someone needs to try this out to see what happens In Discussion Not yet reached consensus Needs Proposal This issue needs a plan that clarifies the finer details of how it could be implemented. Suggestion An idea for TypeScript

Comments

@DanielRosenwasser
Copy link
Member

DanielRosenwasser commented Nov 14, 2019

One thing that users often hit is that file navigation might trigger opening an entire project. Opening an entire project involves

  1. File loading
  2. Scanning/parsing
  3. Resolving dependencies
  4. 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.

@DanielRosenwasser DanielRosenwasser added Needs Proposal This issue needs a plan that clarifies the finer details of how it could be implemented. In Discussion Not yet reached consensus Domain: TSServer Issues related to the TSServer Experimentation Needed Someone needs to try this out to see what happens Domain: --incremental The issue relates to incremental compilation Domain: Performance Reports of unusually slow behavior Suggestion An idea for TypeScript labels Nov 14, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Domain: --incremental The issue relates to incremental compilation Domain: Performance Reports of unusually slow behavior Domain: TSServer Issues related to the TSServer Experimentation Needed Someone needs to try this out to see what happens In Discussion Not yet reached consensus Needs Proposal This issue needs a plan that clarifies the finer details of how it could be implemented. Suggestion An idea for TypeScript
Projects
None yet
Development

No branches or pull requests

1 participant