Toolverse
Wszystkie skille

native-app-performance

autor: harperreed

Profiluj wydajność aplikacji macOS i iOS bezpośrednio z terminala, bez otwierania Instruments.

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

Szybkie info

Kategoria
Mobile
Wyświetlenia
3

O skillu

Umiejętność do analizy wydajności natywnych aplikacji Apple. Nagrywaj Time Profiler za pomocą xctrace, ekstrahuj próbki czasu, symbolizuj stos wywołań i identyfikuj wąskie gardła w kodzie — wszystko z linii poleceń. Idealna, gdy chcesz znaleźć funkcje zużywające najwięcej czasu procesora bez uruchamiania graficznego interfejsu Instruments. Obsługuje zarówno dołączanie do uruchomionej aplikacji, jak i uruchamianie jej z profilerem od razu.

Jak używać

  1. Zainstaluj umiejętność, dodając katalog native-app-performance do swojego konfigu Claude (np. ~/.claude/skills/).

  2. Aby nagrać profil wydajności, wybierz jedną z dwóch metod: jeśli aplikacja już działa, użyj komendy attach z identyfikatorem procesu; jeśli chcesz uruchomić aplikację z profilerem, użyj komendy launch ze ścieżką do binarka. W obu przypadkach xctrace zapisze plik .trace na dysku.

  3. Ekstrahuj próbki czasu z pliku trace za pomocą skryptu extract_time_samples.py, podając ścieżkę do nagraniaego pliku trace. Skrypt wygeneruje plik XML zawierający dane czasowe.

  4. Pobierz adres ładowania sekcji __TEXT z uruchomionej aplikacji za pomocą vmmap i identyfikatora procesu — ten adres jest potrzebny do prawidłowej symbolizacji stosu wywołań (ASLR zmienia adresy przy każdym uruchomieniu).

  5. Uruchom skrypt top_hotspots.py, przekazując plik XML z próbkami, ścieżkę do binarka aplikacji, adres ładowania i liczbę top funkcji do wyświetlenia (np. top 30). Skrypt zwróci ranking funkcji zużywających najwięcej czasu CPU.

  6. Przeanalizuj wyniki — funkcje na górze listy to wąskie gardła. Upewnij się, że podczas nagrywania profilatora wyzwoliłeś powolną operację (otwarcie menu, odświeżenie danych itp.), aby uchwycić istotne dane.

Podobne skille