Run chat performance benchmarks and memory leak checks for VS Code builds.
Copy the install command and let the AI configure it · recommended for beginners
Please install the "chat-perf" skill from askskill: 1. Download https://raw.githubusercontent.com/microsoft/vscode/main/.github/skills/chat-perf/SKILL.md 2. Save it as ~/.claude/skills/chat-perf/SKILL.md 3. Reload skills and tell me it's ready
Run chat perf benchmarks against my current local dev build, focusing on chat render time, first response paint, and scrolling performance, then summarize any clear regressions.
A performance summary with key metric comparisons, likely regressions, and a brief conclusion.
Compare chat perf results between two published VS Code versions, list the main performance differences, and identify which version is more stable for chat UI.
A cross-version performance report with metric differences, stability assessment, and possible causes.
Run memory leak checks on the chat response pipeline, and report any suspicious leaked objects, growth trends, and recommended investigation paths.
A memory diagnostics report highlighting suspected leak points, growth trends, and next investigation steps.
chatListRenderer.ts, chatInputPart.ts, markdown rendering)# Run perf regression test (compares local dev build vs VS Code 1.115.0):
npm run perf:chat -- --scenario text-only --runs 3
# Run all scenarios with no baseline (just measure):
npm run perf:chat -- --no-baseline --runs 3
# Compare two local builds (apples-to-apples):
npm run perf:chat -- --build /path/to/build-A --baseline-build /path/to/build-B --runs 5
# Build a local production package and compare against a release:
npm run perf:chat -- --production-build --baseline-build 1.115.0 --runs 5
# Run memory leak check (10 messages in one session):
npm run perf:chat-leak
# Run leak check with more messages for accuracy:
npm run perf:chat-leak -- --messages 20 --verbose
Script: scripts/chat-simulation/test-chat-perf-regression.js
npm: npm run perf:chat
Launches VS Code via Playwright Electron, opens the chat panel, sends a message with a mock LLM response, and measures timing, layout, and rendering metrics. By default, downloads VS Code 1.115.0 as a baseline, benchmarks it, then benchmarks the local dev build and compares.
| Flag | Default | Description |
|---|---|---|
--runs <n> | 5 | Runs per scenario. More = more stable. Use 5+ for CI. |
--scenario <id> / -s | all | Scenario to test (repeatable). See common/perf-scenarios.js. |
--build <path|ver> / -b | local dev | Build to test. Accepts path or version (1.110.0, insiders, commit hash). |
--baseline <path> | — | Compare against a previously saved baseline JSON file. |
--baseline-build <path|ver> | 1.115.0 | Version or local path to benchmark as baseline. |
--no-baseline | — | Skip baseline comparison entirely. |
--save-baseline | — | Save results as the new baseline (requires --baseline <path>). |
--resume <path> | — | Resume a previous run, adding more iterations to increase confidence. |
--threshold <frac> | 0.2 | Regression threshold (0.2 = flag if 20% slower). |
--production-build | — | Build a local bundled package via gulp vscode for comparison against a release baseline. |
--no-cache | — | Ignore cached baseline data, always run fresh. |
--force | — | Skip build mode mismatch confirmation prompt. |
--ci | — | CI mode: write Markdown summary to ci-summary.md (implies --no-cache, --heap-snapshots, --cleanup-diagnostics). |
--heap-snapshots | — | Take heap snapshots after each run (slow; auto-enabled in --ci mode). |
--cleanup-diagnostics | — | Delete heap snapshots, CPU profiles, and traces to save disk. During runs, only the latest run's files are kept; after comparison, files for non-regressed scenarios are deleted. Auto-enabled in --ci mode. |
--setting <k=v> | — | Set a VS Code setting override for all builds (repeatable). |
--test-setting <k=v> | — | Set a VS Code setting override for the test build only. |
--baseline-setting <k=v> | — | Set a VS Code setting override for the baseline build only. |
--verbose | — | Print per-run details including response content. |
# Compare 1.110.0 against 1.115.0 (no local build needed):
npm run perf:chat -- --build 1.110.0 --baseline-build 1.115.0 --runs 5
Both --build and --baseline-build accept local paths to VS Code executables. This enables apples-to-apples comparisons between any two builds:
# Compare two dev builds (e.g. feature branch vs main):
npm run perf:chat -- \
--build .build/electron/Code\ -\ OSS.app/Contents/MacOS/Code\ -\ OSS \
…
Generate or update chat customization files for AI coding agents.
Merge session branch changes back into the base branch cleanly.
Create and maintain screenshot test fixtures for UI components effectively.
Launch VS Code OSS in isolation for automation and multi-process debugging.
Configure and manage agents, skills, prompts, and integrations in the editor.
Investigate failed PR checks and iteratively fix CI issues faster.
Automate VS Code performance and memory investigations with repeatable evidence capture.
Create custom VS Code chat modes and prompts for specialized development workflows.
Analyze Linux perf data and pinpoint performance bottlenecks with typed commands.
Let VS Code agents search and reuse context from your LLMemory vault.
Let AI control VS Code for coding, debugging, screenshots, and test automation.
Get second opinions from ChatGPT and compare answers across AI models.