go/internal/lsp/source
Alan Donovan f487f3623e internal/lsp/source: reduce allocation in workspace-symbols
dynamicSymbolMatch is an allocation hotspot (9% of all bytes),
because it allocates a 3-element []string that quickly becomes
garbage. This change passes in an empty slice with spare capacity
allowing the same array to be reused throughout the matchFile loop.

BenchmarkSymbols on k8s shows -72% bytes, -88% allocs, -9% wall time.

Change-Id: Id20c7cd649874a212e4d4c5f1aa095277b044a5b
Reviewed-on: https://go-review.googlesource.com/c/tools/+/415500
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Alan Donovan <adonovan@google.com>
gopls-CI: kokoro <noreply+kokoro@google.com>
Reviewed-by: Robert Findley <rfindley@google.com>
2022-07-01 16:22:00 +00:00
..
completion lsp/completion: fix ranking of *types.PkgName candidates 2022-07-01 14:13:48 +00:00
add_import.go internal/lsp: add list_known_packages and add_import commands 2021-05-23 03:57:00 +00:00
api_json.go gopls/doc: regenerate documentation 2022-06-29 17:54:53 +00:00
call_hierarchy.go gopls: remove usage of golang.org/x/xerrors 2022-04-20 15:33:22 +00:00
code_lens.go
comment.go gopls, internal/lsp: gofmt 2022-04-12 17:41:31 +00:00
comment_test.go internal/lsp/source: refactor commentToMarkdown function 2021-05-19 23:19:09 +00:00
diagnostics.go internal/lsp: remove unused code 2022-03-17 13:53:41 +00:00
extract.go internal: remove unneeded FileSets 2022-06-06 20:47:10 +00:00
fix.go gopls: remove usage of golang.org/x/xerrors 2022-04-20 15:33:22 +00:00
folding_range.go internal/lsp: foldable multiline strings 2022-01-04 20:54:25 +00:00
format.go internal/span: eliminate TokenConverter 2022-06-01 19:19:15 +00:00
format_test.go internal/lsp: use source.Offset instead of tok.Offset 2021-10-12 22:12:04 +00:00
gc_annotations.go
highlight.go internal/lsp/source: eliminate ColumnMapper.PointSpan in favor of Pos 2022-06-01 19:19:59 +00:00
hover.go internal/lsp/source: eliminate ColumnMapper.PointSpan in favor of Pos 2022-06-01 19:19:59 +00:00
identifier.go internal/lsp/source: eliminate ColumnMapper.PointSpan in favor of Pos 2022-06-01 19:19:59 +00:00
identifier_test.go internal/span: eliminate TokenConverter 2022-06-01 19:19:15 +00:00
implementation.go internal/lsp/source: eliminate ColumnMapper.PointSpan in favor of Pos 2022-06-01 19:19:59 +00:00
inlay_hint.go internal/lsp: add text edits for unkeyed literals 2022-06-30 17:08:31 +00:00
known_packages.go gopls: remove usage of golang.org/x/xerrors 2022-04-20 15:33:22 +00:00
options.go internal/lsp: add settings for inlay hints and enable 2022-06-22 17:08:41 +00:00
options_test.go gopls: upgrade staticcheck to v0.3.0 2022-04-07 14:59:24 +00:00
references.go internal/lsp: find references to package 2022-06-21 19:39:47 +00:00
rename.go internal/lsp: factor out column mapper construction from content 2022-06-01 19:19:49 +00:00
rename_check.go internal/span: eliminate TokenConverter 2022-06-01 19:19:15 +00:00
signature_help.go internal/lsp/source: eliminate ColumnMapper.PointSpan in favor of Pos 2022-06-01 19:19:59 +00:00
source_test.go internal/lsp: initial test set up for inlay hints 2022-06-09 20:27:29 +00:00
stub.go internal: remove unneeded FileSets 2022-06-06 20:47:10 +00:00
symbols.go gopls: remove usage of golang.org/x/xerrors 2022-04-20 15:33:22 +00:00
types_format.go gopls, internal/lsp: gofmt 2022-04-12 17:41:31 +00:00
util.go internal/lsp/cache: honor the go.work for computing workspace packages 2022-06-22 14:00:53 +00:00
util_test.go internal/span: eliminate TokenConverter 2022-06-01 19:19:15 +00:00
view.go internal/lsp/cache: use persistent map for storing packages in the snapshot 2022-07-01 13:37:03 +00:00
workspace_symbol.go internal/lsp/source: reduce allocation in workspace-symbols 2022-07-01 16:22:00 +00:00
workspace_symbol_test.go internal/lsp/source: parse symbol queries when using fastfuzzy 2022-01-19 15:06:07 +00:00