x/tools/gopls: allow parallel request processing #32629
Labels
FeatureRequest
Issues asking for a new feature that does not need a proposal.
gopls
Issues related to the Go language server, gopls.
Tools
This label describes issues relating to any tools in the x/tools repository.
Milestone
Currently all requests (e.g. signatureHelp, hover, complete, documentHighlight, etc) are processed synchronously, meaning they block subsequent requests/notifications. This includes the time they spend parsing and type checking, which can be significant. In particular, this is wasteful when a new didChange event comes in, since that "should" cancel all in-flight requests for that package, but currently it has to wait for them all to finish.
When gopls is ready for the extra complexity, @ianthehat says that these requests can change to do most of their work asynchronously.
The text was updated successfully, but these errors were encountered: