go/internal/lsp/source/completion
Robert Findley 987de349f4 internal/lsp/completion: don't use Type.String for checking identity
Completion is very performance sensitive, and building a string to check
for *testing.F has a significant cost.

StructCompletion-8         20.7ms ±14%  16.8ms ± 1%  -18.59%  (p=0.000 n=10+10)
ImportCompletion-8         1.36ms ± 5%  1.05ms ±18%  -22.55%  (p=0.000 n=9+10)
SliceCompletion-8          23.5ms ± 2%  19.3ms ±18%  -17.85%  (p=0.000 n=7+10)
FuncDeepCompletion-8       17.6ms ± 2%  15.5ms ± 2%  -11.82%  (p=0.000 n=8+8)
CompletionFollowingEdit-8  81.2ms ± 8%  74.2ms ± 5%   -8.60%  (p=0.000 n=9+9)

For golang/go#53992
For golang/go#53798

Change-Id: Ia138cbadce142a424caabe8259bda05bcc536055
Reviewed-on: https://go-review.googlesource.com/c/tools/+/422906
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Alan Donovan <adonovan@google.com>
Run-TryBot: Robert Findley <rfindley@google.com>
2022-08-15 17:37:01 +00:00
..
builtin.go lsp/completion: support completing to Elem() types 2021-06-09 15:58:30 +00:00
completion.go internal/lsp/completion: don't use Type.String for checking identity 2022-08-15 17:37:01 +00:00
deep_completion.go all: fix spelling 2022-04-04 19:50:34 +00:00
deep_completion_test.go
definition.go internal/span: make NewRange accept File, not FileSet 2022-07-06 19:40:50 +00:00
format.go internal/lsp/cache: move PosTo{Decl,Field} out of cache 2022-07-13 14:49:57 +00:00
fuzz.go internal/completion: default to regular completion for f.Fuzz without f.Add 2022-03-16 01:41:57 +00:00
keywords.go internal/lsp/source/completion: remove "completion_" prefix from files 2020-10-30 17:45:15 +00:00
labels.go internal/lsp/source/completion: remove "completion_" prefix from files 2020-10-30 17:45:15 +00:00
literal.go lsp/completion: fix func literals with type params 2022-04-26 14:19:52 +00:00
package.go internal/span: make NewRange accept File, not FileSet 2022-07-06 19:40:50 +00:00
package_test.go internal/lsp/source/completion: suggest only valid package names 2021-04-27 19:53:45 +00:00
postfix_snippets.go gopls: add range over channel postfix completion 2022-07-01 14:13:36 +00:00
printf.go all: fix spelling 2022-04-04 19:50:34 +00:00
printf_test.go internal/lsp/source/completion: remove "completion_" prefix from files 2020-10-30 17:45:15 +00:00
snippet.go internal/lsp: add snippet completion for function type parameters 2022-03-09 15:55:38 +00:00
statements.go gopls, internal/lsp: gofmt 2022-04-12 17:41:31 +00:00
util.go internal/span: make NewRange accept File, not FileSet 2022-07-06 19:40:50 +00:00
util_test.go