You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I just noticed that in certain packages, diagnostics are very slow after adding or removing an import (or making any other metadata-affecting change).
It looks like I introduced an awaitLoaded(...) call into the critical path re-typechecking a package (via resolveImportGraph). When the package being edited is low level, this results in reloading its entire reverse-transitive closure.
As an invariant, we should always be able to operate on the current package without reloading everything.
add a benchmark for this operation, which is common thanks to goimports on save
fix the logic of resolveImportGraph
The text was updated successfully, but these errors were encountered:
gopherbot
added
Tools
This label describes issues relating to any tools in the x/tools repository.
gopls
Issues related to the Go language server, gopls.
labels
Jul 13, 2023
I sometime see saving a file in VSCode take an extremely long time, and I've never been able to figure out why, but this sounds like a likely culprit. Good luck fixing it!
I just noticed that in certain packages, diagnostics are very slow after adding or removing an import (or making any other metadata-affecting change).
It looks like I introduced an
awaitLoaded(...)
call into the critical path re-typechecking a package (viaresolveImportGraph
). When the package being edited is low level, this results in reloading its entire reverse-transitive closure.As an invariant, we should always be able to operate on the current package without reloading everything.
resolveImportGraph
The text was updated successfully, but these errors were encountered: