An LSP server is software which plugs into your code
editor. It provides diagnostics (error squigglies), go-to-definition,
and auto-complete. This benchmark measures how long an LSP server
takes to give diagnostics after making a change in a JavaScript file
(e.g. after typing a character). In other words, it measures
input latency. Lower latency means a faster-feeling editor.
This benchmark measures how long an LSP server takes to give
diagnostics to an editor.
This benchmark is similar to the
incremental-change-wait benchmark, except it uses a JSX (React) source file instead of a vanilla
JavaScript source file.
Add or remove a few characters in the document, sending small
deltas in an LSP message.
Wait for diagnostics.
LSP: full-change-wait express-router.js
This benchmark measures how long an LSP server takes to give
diagnostics to an editor.
This benchmark differs from the
incremental-change-wait benchmark
in that the editor gives the new version of the file entirely rather
than just the incremental changes. This is for compatibility with
linters such as RSLint which do not support incremental changes.
Deno's LSP server (and thus its Visual Studio Code extension)
delays processing by 200 milliseconds. This means that Deno appears to be much slower than it actually is,
but this artificial latency does affect the editing experience.
TypeScript
TypeScript's LSP server (but not its Visual Studio Code extension)
delays processing by
200 milliseconds
+
50 milliseconds. This means that TypeScript appears to be much slower than it
actually is, but this artificial latency does affect the editing
experience (in all editors except Visual Studio Code).