go/internal/lsp/cache
Rebecca Stambler 1225b6f53f internal/lsp: memoize allKnownSubdirs instead of recomputing
A lot of the time spent for every file change is recomputing the set of
known subdirectories in the workspace. We can easily memoize these known
subdirectories and avoid recomputing them on every file change. Do that
here and update the set as file creations and deletions come in.

Updates golang/go#45686
Fixes golang/go#45974

Change-Id: Ide07f7c90f0cafc3a3cc7b89ba14ab82d4e3ab28
Reviewed-on: https://go-review.googlesource.com/c/tools/+/317410
Trust: Rebecca Stambler <rstambler@golang.org>
Run-TryBot: Rebecca Stambler <rstambler@golang.org>
gopls-CI: kokoro <noreply+kokoro@google.com>
Reviewed-by: Robert Findley <rfindley@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
2021-06-04 20:34:05 +00:00
..
analysis.go internal/lsp/cache: trim more stuff in ParseExported mode 2021-05-11 17:48:41 +00:00
cache.go internal/lsp: remove some unused parameters, mostly in the cache package 2021-03-25 00:26:08 +00:00
check.go Revert "internal/lsp/cache: don't delete metadata until it's reloaded" 2021-06-02 19:45:53 +00:00
error_test.go internal/lsp/cache: split up sourceDiagnostics 2021-03-02 02:05:13 +00:00
errors.go gopls: propagate Staticcheck's diagnostic severities 2021-05-25 19:05:09 +00:00
imports.go internal/lsp/cache: fix panic in GOPATH mode 2021-01-07 18:21:03 +00:00
keys.go internal/lsp: decouple client and server debug 2020-06-11 13:49:48 +00:00
load.go internal/lsp: don't diagnose/analyze intermediate test variants 2021-06-03 14:48:35 +00:00
mod.go internal/lsp: fix support for SourceFixAll code actions 2021-03-24 23:51:27 +00:00
mod_tidy.go internal/lsp: remove unnecessary call to WorkspacePackages in mod tidy 2021-03-30 04:13:47 +00:00
os_darwin.go internal/lsp: add a mutex around the view's options 2020-04-02 16:41:49 +00:00
os_windows.go internal/lsp/cache: validate workspace path case 2020-03-27 19:55:53 +00:00
parse.go internal/lsp: address some staticcheck warning 2021-06-03 03:03:28 +00:00
parse_test.go internal/lsp/cache: trim more stuff in ParseExported mode 2021-05-11 17:48:41 +00:00
pkg.go internal/lsp/cache: trim more stuff in ParseExported mode 2021-05-11 17:48:41 +00:00
session.go internal/lsp: memoize allKnownSubdirs instead of recomputing 2021-06-04 20:34:05 +00:00
snapshot.go internal/lsp: memoize allKnownSubdirs instead of recomputing 2021-06-04 20:34:05 +00:00
view.go internal/lsp: memoize allKnownSubdirs instead of recomputing 2021-06-04 20:34:05 +00:00
view_test.go gopls/internal/regtest: add a failing regtest for vscode-go#1489 2021-05-13 13:20:04 +00:00
workspace.go internal/lsp: do not reinitialize the workspace for didOpen events 2021-05-10 21:57:30 +00:00
workspace_test.go gopls/internal/regtest: add a failing regtest for vscode-go#1489 2021-05-13 13:20:04 +00:00