Singapore
DocsGitHub
docs/concepts/performance.md

Performance

Singapore's target is to keep a keystroke within one display frame. Measure latency for each file, browser and plugin combination against that budget.

Measure the complete editor

Start with your production build and representative files. Record cold open time, typing latency, scroll behaviour and retained memory after the view closes. Repeat the same actions with analysis disabled, then with each plugin enabled.

Text-buffer tests measure storage operations. Browser layout, input, highlights and host UI work need editor-level measurements. Current research has no editor-level benchmark that establishes Singapore's overall speed against Monaco or CodeMirror.

Reproduce a result

A public number needs its script, file size and shape, machine, browser and package versions, date, warmup and run count. Compare the same feature set and preserve both wins and losses.

The stress examples and research report provide starting points. Any experiment you run is evidence for that setup until broader measurements establish otherwise.

Separate size from responsiveness

Opening a file is one task. Typing with a language service and minimap is another. Large-file analysis caps and asynchronous work can change the result substantially. Read Large files before choosing an editable or paged path.