Toolverse
Wszystkie skille

rspack-perf-profiling

autor: web-infra-dev

Profiluj wydajność Rspack na Linuxie z precyzją na poziomie CPU i jądra systemu.

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

Szybkie info

Kategoria
Data Science
Wyświetlenia
2

O skillu

Narzędzie do profilowania wydajności kompilacji Rspack na Linuxie przy użyciu perf z obsługą DWARF call stack. Pozwala zidentyfikować wąskie gardła na poziomie CPU, rozwiązać symbole jądra i analizować hotspoty bezpośrednio z pliku perf.data. Idealne dla deweloperów, którzy potrzebują głębokich analiz wydajności kompilacji i benchmarków. Opcjonalnie możesz zaimportować wyniki do samply dla wizualizacji wątków na CPU.

Jak używać

  1. Zbuduj binding z włączoną obsługą profilowania, uruchamiając pnpm run build:binding:profiling w głównym katalogu projektu Rspack.

  2. Włącz symbole jądra, aby uzyskać pełne stack trace'i. Uruchom echo 0 | sudo tee /proc/sys/kernel/kptr_restrict i echo 1 | sudo tee /proc/sys/kernel/perf_event_paranoid. Opcjonalnie zainstaluj symbole debugowania vmlinux lub przekaż ścieżkę do vmlinux poleceniu perf report.

  3. 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.

  4. 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.

  5. 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 4000 ustawia częstotliwość próbkowania; zwiększ go dla większej gęstości danych, ale przygotuj się na większy plik perf.data.

  6. Analizuj wyniki za pomocą perf report bezpośrednio z pliku perf.data lub opcjonalnie zaimportuj dane do samply dla interaktywnej wizualizacji wątków na CPU.

Podobne skille