quick-lint-js

quick-lint-js finds bugs in JavaScript programs.

Which JavaScript linter is the fastest and consumes the least energy? We benchmarked different JavaScript linters to give you the answer.

LSP: full-change-wait express-router.js

This benchmark measures how long an LSP server takes to give diagnostics to an editor.

Results

0 ms 60 FPS 150 ms 300 ms 450 ms 600 ms 750 ms 900 ms 1050 ms 0.1 ms 1 ms 10 ms 100 ms 1050 ms
quick-lint-js
RSLint
Flow
eslint-server
Deno
TypeScript-Theia
response time (lower is better)
linter response time (milliseconds)
min avg max ÷ qljsquick-lint-js
quick-lint-js 0.41 0.41 0.42 1.0×
RSLint 18.50 18.52 18.55 44.8×
Flow 36.73 37.00 37.52 89.4×
eslint-server 70.24 83.23 114.32 201.2×
Deno 387.57 440.96 559.74 1065.9×
TypeScript-Theia 435.07 621.95 984.36 1503.4×

Setup (untimed)

  1. Start the LSP server.
  2. Wait for initialization to finish.
  3. Open one document with contents from express-router.js.
  4. Wait for diagnostics.

Work (timed)

Repeat the following steps N times:

  1. Change a few characters in the document, sending the entire new document in an LSP message.
  2. Wait for diagnostics.

Methodology

These benchmarks measure the following linters:

These benchmarks were measured on the following machine: