optimizing-performance
Analyzes and optimizes application performance across frontend, backend, and database layers. Use when diagnosing slowness, improving load times, optimizing queries, reducing bundle size, or when asked about performance issues.
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Analyzes and optimizes application performance across frontend, backend, and database layers. Use when diagnosing slowness, improving load times, optimizing queries, reducing bundle size, or when asked about performance issues.
How to use
Załaduj umiejętność gdy diagnozujesz spowolnienia, optymalizujesz rozmiar bundla, pracujesz nad strategiami cachowania lub rozwiązujesz problemy wydajności aplikacji. Pomiń ją, jeśli skupiasz się na poprawności kodu bez związku z wydajnością.
Zacznij od pomiaru wydajności bazowej. Dla aplikacji Node.js uruchom polecenie node --prof app.js, a następnie przetwórz wynik za pomocą node --prof-process isolate*.log. Dla Pythona użyj python -m cProfile -o profile.stats app.py. Dla aplikacji webowych uruchom Lighthouse: lighthouse https://example.com --output=json.
Zidentyfikuj wąskie gardła, analizując wyniki profilowania. Sprawdź, czy problem leży w użyciu CPU (wysokie obciążenie procesora), pamięci RAM (wycieki, pauzy garbage collectora), operacjach I/O (dysk, sieć) czy zapytaniach do bazy danych (wolne query, blokady).
Zastosuj ukierunkowane optymalizacje w zależności od typu wąskiego gardła. Na froncie zmniejsz rozmiar bundla importując tylko potrzebne funkcje zamiast całych bibliotek. W bazie danych analizuj plany zapytań i dodawaj indeksy. Na backendzie optymalizuj algorytmy i strategie cachowania.
Zmierz wydajność ponownie po zmianach i porównaj wyniki z pomiarem bazowym. Jeśli cele wydajności nie zostały osiągnięte, powtórz proces identyfikacji i optymalizacji dla pozostałych wąskich gardeł.