go/internal
Alan Donovan 3c8152e28a internal/gcimporter: optimize dependency lookup
The old code based on packages.Visit traversed in a
deterministic order, and didn't stop when it found its
target (the 'return false' only prunes that subtree).
This CL replaces it with a precomputation of the
PkgPath-to-*Package mapping.

The performance difference is small for this test but
it nearly dominates on a larger input (e.g. k8s).
Example code shouldn't steer users into asymptotic traps.

Change-Id: I19f4fc2c25da3d2ae00090704df30a54d8516bf5
Reviewed-on: https://go-review.googlesource.com/c/tools/+/447958
gopls-CI: kokoro <noreply+kokoro@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Alan Donovan <adonovan@google.com>
Reviewed-by: Robert Findley <rfindley@google.com>
2022-11-05 17:57:31 +00:00
..
analysisinternal go/analysis/passes/loopclosure: enable analysis of parallel subtests 2022-11-03 17:48:16 +00:00
apidiff all: gofmt 2022-04-12 17:53:17 +00:00
bug gopls: migrate internal/lsp to gopls/internal/lsp 2022-09-07 16:44:44 +00:00
diff gopls/internal/lsp/source: sort protocol edits 2022-10-11 18:07:12 +00:00
event gopls: migrate internal/lsp to gopls/internal/lsp 2022-09-07 16:44:44 +00:00
facts internal/facts: share go/analysis/internal/facts with gopls 2022-10-25 15:31:58 +00:00
fakenet
fastwalk internal/fastwalk: improve Darwin performance by ~3x 2022-10-13 16:31:57 +00:00
fuzzy gopls/.../fillstruct: support generic types 2022-09-30 19:58:05 +00:00
gcimporter internal/gcimporter: optimize dependency lookup 2022-11-05 17:57:31 +00:00
gocommand go/packages: issue error if 'go list' on PATH is too new 2022-09-28 14:34:08 +00:00
gopathwalk internal/gopathwalk: remove unnecessary call to os.Lstat 2022-03-31 05:33:07 +00:00
goroot go/internal/gcimporter: update to anticipate missing targets and .as 2022-10-26 20:17:01 +00:00
imports internal/imports: repair warnings from default analyzers 2022-10-19 15:24:07 +00:00
jsonrpc2 all: use constant to avoid repeated definitions 2022-09-19 15:32:23 +00:00
jsonrpc2_v2 internal/jsonrpc2_v2: initiate shutdown when the Writer breaks 2022-11-02 21:32:11 +00:00
memoize internal/memoize: fix race in Store.Promise 2022-07-28 15:35:11 +00:00
packagesinternal x/tools/go/packages: on Go 1.19+, explicitly ask for -json fields needed 2022-04-19 17:08:06 +00:00
persistent internal/lsp/cache: use GetHandle not Bind for 5 URI-keyed maps 2022-07-07 16:57:02 +00:00
pkgbits internal/gcimporter: moved from go/internal/gcimporter 2022-11-04 15:23:56 +00:00
proxydir
stack all: gofmt 2022-04-12 17:53:17 +00:00
testenv go/internal/gcimporter: update to anticipate missing targets and .as 2022-10-26 20:17:01 +00:00
tool internal/tool: implement structured help command 2022-05-04 22:58:41 +00:00
typeparams x/tools/internal/typeparams: use regexp to match wanted result 2022-09-02 19:06:05 +00:00
typesinternal internal/typesinternal: update typesinternal for 1.18 2022-02-22 16:42:18 +00:00
xcontext