rspack-perf-profiling
Run Rspack performance profiling on Linux using perf (with DWARF call stacks), generate perf.data, and analyze hotspots. Use when you need CPU-level bottlenecks, kernel symbol resolution, or repeatable profiling for rspack build/bench cases. Includes optional samply import with
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Run Rspack performance profiling on Linux using perf (with DWARF call stacks), generate perf.data, and analyze hotspots. Use when you need CPU-level bottlenecks, kernel symbol resolution, or repeatable profiling for rspack build/bench cases. Includes optional samply import with per-CPU threads for visualization, but primary analysis is perf-based.
How to use
Zbuduj binding z włączoną obsługą profilowania, uruchamiając
pnpm run build:binding:profilingw głównym katalogu projektu Rspack.Włącz symbole jądra, aby uzyskać pełne stack trace'i. Uruchom
echo 0 | sudo tee /proc/sys/kernel/kptr_restrictiecho 1 | sudo tee /proc/sys/kernel/perf_event_paranoid. Opcjonalnie zainstaluj symbole debugowania vmlinux lub przekaż ścieżkę do vmlinux poleceniu perf report.Przygotuj benchmark — sklonuj repozytorium build-tools-performance obok katalogu rspack (nie wewnątrz niego), a następnie zainstaluj zależności dla wybranego case'u, np. react-10k, poleceniem
pnpm install.Powiąż lokalny rdzeń Rspack z benchmarkiem, aby case'i mogły rozwiązać @rspack/core, używając
pnpm add -w @rspack/core@link:../rspack/packages/rspack.Uruchom profilowanie perf na wybranym case'u, np. react-10k, poleceniem
perf record -o ./perf.data -e cycles:uk -F 4000 --call-graph dwarf -- node --perf-prof --perf-basic-prof --interpreted-frames-native-stack ../../../rspack/packages/rspack-cli/bin/rspack.js -c ./rspack.config.mjs. Parametr-F 4000ustawia częstotliwość próbkowania; zwiększ go dla większej gęstości danych, ale przygotuj się na większy plik perf.data.Analizuj wyniki za pomocą
perf reportbezpośrednio z pliku perf.data lub opcjonalnie zaimportuj dane do samply dla interaktywnej wizualizacji wątków na CPU.