8000 Skip linearization during the fast+incremental path by elliottt · Pull Request #8827 · sorbet/sorbet · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Skip linearization during the fast+incremental path #8827

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 2 commits into from
May 5, 2025

Conversation

elliottt
Copy link
Collaborator
@elliottt elliottt commented May 5, 2025

We can avoid computing linearization during the fast+incremental path, as nothing will have changed that would require that step.

I believe this is safe because as @jez pointed out, we already document the fact that we don't need to compute linearization in Resolver::runIncremental where we instead call verifyLinearizationComputed.

The first commit is the simplest version of this change, and the second refactors a bit to merge the checks for whether we're on the incremental path together. The second commit is definitely not necessary, and I'm happy to revert it if it seems too much like it's obscuring the original change.

Motivation

LSP performance on large codebases.

Test plan

Existing tests.

@elliottt elliottt marked this pull request as ready for review May 5, 2025 20:19
@elliottt elliottt requested a review from a team as a code owner May 5, 2025 20:19
@elliottt elliottt requested review from froydnj and removed request for a team May 5, 2025 20:19
@elliottt elliottt merged commit 00dc195 into master May 5, 2025
14 checks passed
@elliottt elliottt deleted the trevor/skip-linearization-fast-incremental branch May 5, 2025 21:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants
0