1
0
mirror of https://github.com/golang/go synced 2024-11-18 16:54:43 -07:00
go/internal/lsp
Ian Cottrell a1c56757aa internal/telemetry: remove the concept of a Tagger
The Tagger interface allowed for specifying a key in a tag list and having the
value be aquired from the context automatically. It was almost never used, and
the alternative (using the key to get the value) is not that much more long
winded, so it was not holding it's own weight from a complexity persective alone
but the performance cost of having to use a list of interface rather than a list
of tags was very large. See the benchstat improvements below for the difference
it makes to both speed and memory usage, especially in the no exporter case.

name                 old time/op    new time/op    delta
Baseline-8              341ns ± 2%     342ns ± 1%     ~     (p=0.139 n=19+18)
LoggingNoExporter-8    2.46µs ± 5%    1.97µs ± 3%  -19.88%  (p=0.000 n=19+20)
Logging-8              13.3µs ± 2%    12.8µs ± 2%   -3.42%  (p=0.000 n=17+20)
LoggingStdlib-8        5.39µs ± 6%    5.34µs ± 3%     ~     (p=0.692 n=20+19)

name                 old alloc/op   new alloc/op   delta
Baseline-8              80.0B ± 0%     80.0B ± 0%     ~     (all equal)
LoggingNoExporter-8      728B ± 0%      440B ± 0%  -39.56%  (p=0.000 n=20+20)
Logging-8              2.75kB ± 0%    2.46kB ± 0%  -10.53%  (p=0.000 n=17+20)
LoggingStdlib-8          568B ± 0%      568B ± 0%     ~     (all equal)

name                 old allocs/op  new allocs/op  delta
Baseline-8               5.00 ± 0%      5.00 ± 0%     ~     (all equal)
LoggingNoExporter-8      32.0 ± 0%      23.0 ± 0%  -28.12%  (p=0.000 n=20+20)
Logging-8                88.0 ± 0%      79.0 ± 0%  -10.23%  (p=0.000 n=20+20)
LoggingStdlib-8          28.0 ± 0%      28.0 ± 0%     ~     (all equal)

Change-Id: Ic203ad0c5de7451348976b999a0d038ac532dc39
Reviewed-on: https://go-review.googlesource.com/c/tools/+/221737
Run-TryBot: Ian Cottrell <iancottrell@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Robert Findley <rfindley@google.com>
Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com>
2020-03-03 22:56:24 +00:00
..
browser internal/lsp: add version and bug commands 2019-05-11 04:16:02 +00:00
cache internal/lsp: move the debug.Instance onto the Context 2020-03-03 22:54:53 +00:00
cmd internal/lsp: move the debug.Instance onto the Context 2020-03-03 22:54:53 +00:00
debug internal/telemetry: use atomics to get the exporter 2020-03-03 22:56:03 +00:00
diff internal/span,lsp: disambiguate URIs, DocumentURIs, and paths 2020-02-14 22:51:03 +00:00
fake internal/lsp/regtest: implement formatting and organizeImports 2020-03-02 19:16:53 +00:00
fuzzy internal/lsp: make golint happy 2019-12-23 18:17:04 +00:00
helper internal/lsp: change to helper.go to output a formatted file 2020-01-31 20:35:38 +00:00
lsprpc internal/lsp: move the debug.Instance onto the Context 2020-03-03 22:54:53 +00:00
mod internal/lsp: move the debug.Instance onto the Context 2020-03-03 22:54:53 +00:00
protocol internal/telemetry: removing the concept of exporter lists 2020-02-26 21:51:01 +00:00
regtest internal/lsp: move the debug.Instance onto the Context 2020-03-03 22:54:53 +00:00
snippet all: fix broken links to LSP specification 2019-10-02 18:32:53 +00:00
source internal/lsp: move the debug.Instance onto the Context 2020-03-03 22:54:53 +00:00
telemetry internal/lsp: log snapshot IDs, don't log context cancellation 2020-01-27 19:20:44 +00:00
testdata internal/lsp: fix active param in signature help 2020-03-03 19:47:17 +00:00
tests internal/lsp: add an upgrade all dependencies codelens 2020-03-02 21:30:18 +00:00
code_action.go internal/lsp: check for file URIs on LSP requests 2020-02-14 22:51:26 +00:00
command.go internal/lsp: add an upgrade all dependencies codelens 2020-03-02 21:30:18 +00:00
completion_test.go internal/span,lsp: disambiguate URIs, DocumentURIs, and paths 2020-02-14 22:51:03 +00:00
completion.go internal/lsp: check for file URIs on LSP requests 2020-02-14 22:51:26 +00:00
definition.go internal/lsp: check for file URIs on LSP requests 2020-02-14 22:51:26 +00:00
diagnostics.go internal/telemetry: remove the concept of a Tagger 2020-03-03 22:56:24 +00:00
folding_range.go internal/lsp: check for file URIs on LSP requests 2020-02-14 22:51:26 +00:00
format.go internal/lsp: check for file URIs on LSP requests 2020-02-14 22:51:26 +00:00
general.go internal/lsp/lsprpc: clean up client session on disconnection 2020-02-24 23:23:05 +00:00
highlight.go internal/lsp: check for file URIs on LSP requests 2020-02-14 22:51:26 +00:00
hover.go internal/lsp: support textDocument/hover for .mod extension 2020-02-26 15:59:49 +00:00
implementation.go internal/lsp: check for file URIs on LSP requests 2020-02-14 22:51:26 +00:00
link.go internal/lsp: support textDocument/documentLink for .mod extension 2020-02-26 15:45:04 +00:00
lsp_test.go internal/lsp: move the debug.Instance onto the Context 2020-03-03 22:54:53 +00:00
references.go internal/lsp: check for file URIs on LSP requests 2020-02-14 22:51:26 +00:00
rename.go internal/lsp: check for file URIs on LSP requests 2020-02-14 22:51:26 +00:00
reset_golden.sh internal/lsp: fix regeneration of golden files 2019-09-25 13:16:59 +00:00
server_gen.go internal/lsp: change return type of PrepareRename to *Range 2020-02-13 20:00:52 +00:00
server.go internal/lsp: add an upgrade all dependencies codelens 2020-03-02 21:30:18 +00:00
signature_help.go internal/lsp: check for file URIs on LSP requests 2020-02-14 22:51:26 +00:00
symbols.go internal/lsp: check for file URIs on LSP requests 2020-02-14 22:51:26 +00:00
text_synchronization.go internal/lsp: clear diagnostics for deleted files 2020-02-19 20:26:41 +00:00
workspace_symbol.go internal/lsp: add support for workspace symbol 2020-02-05 19:03:17 +00:00
workspace.go internal/lsp: generate boilerplate stubs for type Server 2020-01-24 14:41:51 +00:00