Skip to content
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

LSP big_file_edits performance regression #12246

Closed
ry opened this issue Sep 27, 2021 · 3 comments
Closed

LSP big_file_edits performance regression #12246

ry opened this issue Sep 27, 2021 · 3 comments
Assignees
Labels
lsp related to the language server perf performance related

Comments

@ry
Copy link
Member

ry commented Sep 27, 2021

Screen Shot 2021-09-27 at 9 01 38 AM

It seems this happened in 728d205

cc @kitsonk @dsherret @jeanp413

@ry ry added perf performance related lsp related to the language server labels Sep 27, 2021
@kitsonk kitsonk self-assigned this Sep 27, 2021
@kitsonk
Copy link
Contributor

kitsonk commented Sep 27, 2021

The code actions needs a deeper refactor anyways. I will take a look.

@kitsonk
Copy link
Contributor

kitsonk commented Oct 26, 2021

This will be resolved (and improved) by #12535

@kitsonk
Copy link
Contributor

kitsonk commented Nov 7, 2021

In #11555 we added a significant feature, with especially big files, requires additional calls into tsc to see what code actions are applicable, so we cannot totally offset the impact of this. #12535 did improve some of the performance regression (and improved a baseline not related to just code actions in big files):

Benchmarks__4717___5216_

The biggest opportunity for performance improvement now is to not use tsc to calculate the "NavigationTree" but instead calculate this in swc. The navigation tree is essentially a simplified AST which is used by vscode in several situations (like syntax highlighting) and is "costly" for tsc to generate (as well as it being a large JSON structure we have to op out of the tsc isolate). This is covered by #11032.

I am going to close this, and we can figure out the priority for #11032.

@kitsonk kitsonk closed this as completed Nov 7, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
lsp related to the language server perf performance related
Projects
None yet
Development

No branches or pull requests

2 participants