performance-investigation

Investigue regressões de desempenho e encontre oportunidades de otimização.

npx skills add https://github.com/sveltejs/svelte --skill performance-investigation

Quick start

  1. Start from a branch you want to measure (for example foo).
  2. Run:
pnpm bench:compare main foo

If you pass one branch, bench:compare automatically compares it to main.

Where outputs go

  • Summary report: benchmarking/compare/.results/report.txt
  • Raw benchmark numbers:
    • benchmarking/compare/.results/main.json
    • benchmarking/compare/.results/<your-branch>.json
  • CPU profiles (per benchmark, per branch):
    • benchmarking/compare/.profiles/main/*.cpuprofile
    • benchmarking/compare/.profiles/main/*.md
    • benchmarking/compare/.profiles/<your-branch>/*.cpuprofile
    • benchmarking/compare/.profiles/<your-branch>/*.md

The .md files are generated summaries of the CPU profile and are usually the fastest way to inspect hotspots.

Suggested investigation flow

  1. Open benchmarking/compare/.results/report.txt and identify largest regressions first.
  2. For each high-delta benchmark, compare:
    • benchmarking/compare/.profiles/main/<benchmark>.md
    • benchmarking/compare/.profiles/<branch>/<benchmark>.md
  3. Look for changes in self/inclusive hotspot share in runtime internals (runtime.js, reactivity/batch.js, reactivity/deriveds.js, reactivity/sources.js).
  4. Make one optimization change at a time, then re-run targeted benches before re-running full compare.

Fast benchmark loops

Run only selected reactivity benchmarks by substring:

pnpm bench kairo_mux kairo_deep kairo_broad kairo_triangle
pnpm bench repeated_deps sbench_create_signals mol_owned

Tests to run after perf changes

Runtime reactivity regressions are most likely in runes runtime tests:

pnpm test runtime-runes

Helpful script

For quick cpuprofile hotspot deltas between two branches:

node benchmarking/compare/profile-diff.mjs kairo_mux_owned main foo

This prints top function sample-share deltas for the selected benchmark.

Practical gotchas

  • bench:compare checks out branches while running. Avoid uncommitted changes (or stash them) so branch switching is safe.
  • Each bench:compare run rewrites benchmarking/compare/.results and benchmarking/compare/.profiles.

Mais skills de sveltejs

svelte-code-writer
sveltejs
We need to translate the given text from English to Brazilian Portuguese. The text describes CLI tools for Svelte 5 documentation lookup and code analysis with autofixer. We must preserve the name "svelte-code-writer" but it's not in the text, so we don't include it. We also preserve technical terms like "Svelte 5", "CLI", "autofixer", "list-sections", "get-documentation", "svelte-autofixer", "Svelte 4", "--svelte-version", "--async", "$", etc. No extra commentary, just translation. The text: "CLI tools for Svelte 5 documentation lookup and code analysis with built-in autofixer. Three core commands: list-sections to browse available docs, get-documentation to fetch full documentation for specific topics, and svelte-autofixer to analyze code and suggest fixes Autofixer supports Svelte 4 and 5 targeting via --svelte-version flag and async mode via --async
official
svelte-core-bestpractices
sveltejs
Orientação para escrever código Svelte moderno, rápido e robusto. Carregue esta habilidade sempre que estiver em um projeto Svelte e for solicitado a escrever/editar ou analisar um componente Svelte ou…
official
svelte-code-writer
sveltejs
Ferramentas de CLI para consulta de documentação do Svelte 5 e análise de código. DEVEM ser usadas sempre que criar, editar ou analisar qualquer componente Svelte (.svelte) ou Svelte…
official
svelte-core-bestpractices
sveltejs
Guidance on writing fast, robust, modern Svelte code. Load this skill whenever in a Svelte project and asked to write/edit or analyze a Svelte component or…
official
scenario-writer
sveltejs
Seleciona um novo cenário para criar com base na descrição do usuário, delega a escrita dele ao subagente ai-scenario-writer e verifica a correção.
official
performance-investigation
sveltejs
Investigue regressões de performance e encontre oportunidades de otimização
official
writing-opencode-plugins
sveltejs
Plugins OpenCode, @opencode-ai/plugin, @opencode-ai/plugin/tui, hooks de plugin, ferramentas personalizadas, rotas TUI, slots, keymaps e empacotamento. Use ao criar,…
official
scenario-writer
sveltejs
Seleciona um novo cenário para criar com base na descrição do usuário, delega a escrita ao subagente ai-scenario-writer e verifica a correção.
official