Skip to content

Cache the latest source file from document registery in script info so that we do not have to reparse orphan script info #24206

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

Merged
merged 5 commits into from
May 22, 2018

Conversation

sheetalkamat
Copy link
Member

Previously we kept around script infos that are not part of any project around till next file open request so that we can reuse them. But that just stored their text and not source file. Thus resulting in overhead of reparsing the source file when these orphan script infos are included in project. The parsing can run into multiple seconds (eg. 2.6+s for sass.async.js from require("sass.js") mentioned in #19458)
With this change we keep the source file and document registery key so that we can reuse or incrementally parse the source file for next project inclusion. This reduced the time spent in updateGraph from 3s to few ms

Note still completion isnt instant and thats because now the time is spent in diagnostics check for projectUpdatedInBackground. Will have a separate PR to address that.

@sheetalkamat sheetalkamat requested a review from mhegazy May 21, 2018 18:23
@sheetalkamat sheetalkamat merged commit f44dd6f into master May 22, 2018
@sheetalkamat sheetalkamat deleted the documentRegistery branch May 22, 2018 19:11
@mhegazy mhegazy mentioned this pull request May 22, 2018
@microsoft microsoft locked and limited conversation to collaborators Jul 31, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants