czy masz kcachegrind jak narzędzia do profilowania dla mac [zamknięte]

99

Czy ktoś może mi powiedzieć o narzędziach, które masz do profilowania, takich jak kcachegrind wingrind valgrind na platformę Mac.

Nie sądzę, żeby te działały na Macu, mam też szybkie sprawdzenie tego.

indianwebdevil
źródło
Próbuję profilować kod php / javascript, więc bardziej interesują mnie te profilery. Dzięki za wkład.
indianwebdevil,
1
Myślę, że większość przeglądarek jest dostarczana z własnymi interpreterami Javascript, ale Safari używa JavascriptCore, który jest widoczny w całym systemie operacyjnym, a zatem prawie na pewno uruchamia skrypty JavaScript w innych miejscach, takich jak Cheetah3D. Jeśli włączysz menu „Programowanie” w preferencjach, będzie tam dostępny profiler javascript.
Tommy,

Odpowiedzi:

134

Skończyło się na korzystaniu z qcachegrind na OSX. Można go zainstalować za pomocą naparu

brew install qcachegrind

lub, aby włączyć obsługę Graphviz :

brew install qcachegrind --with-graphviz

Wspaniałe w tym programie jest to, że pomyślnie załadowałem plik cachegrind o pojemności 6,1 GB na moim MacBooku Pro! Całkiem zręcznie!

mr-sk
źródło
9
brew updatezanim to zrobisz, zapobiega dziwnym błędom :)
Grosser
3
brew install graphvizjeśli chcesz mieć ładne wykresy połączeń.
Ngoc Pham
2
Musiałem użyć kropki linku symbolicznego, aby callgraphs działały sudo ln -s / usr / local / bin / dot / usr / bin / dot
John Kramlich
To zadziałało dla mnie bez problemu! Dzięki!
Răzvan Ciocănel
1
z tego, blog.josephscott.org/2013/07/03/ ... w komentarzach, aby ominąć ochronę systemu, aby użyć kropki: od @Motrin: To już nie działa w OSX El Capitan z powodu Ochrony integracji systemu: sudo ln - s / usr / local / bin / dot / usr / bin / dot Obejście problemu: $ cd /Applications/qcachegrind.app/Contents/MacOS $ mv qcachegrind qcachegrind.bin $ echo '#! / bin / bash export PATH = ”$ PATH : / usr / local / bin ”$ (dirname $ 0) /qcachegrind.bin exit 0 '> qcachegrind $ chmod + x qcachegrind Następnie jak zwykle uruchom qcachegrind.
troseman
60

Wypróbuj kombinację qcachegrind + Graphviz killer.

Szybko instaluje się przez napar, co jest miłe.

Sprawdź te instrukcje, po prostu zainstaluj je przez:

brew install qcachegrind

który pobierze inne zależności, takie jak qti graphviz.

GlennR
źródło
13
Jest teraz „brew install qcachegrind”, gdzie formuła jest oparta na tym blogu. Chociaż (atm) nie instaluje /Applications/QCachegrind.app, tylko plik binarny qcachegrind.
DTest
Kolejny przydatny post: blog.jcmultimedia.com.au/2014/03/…
Jazzo
15

Zarówno valgrind, jak i kcachegrind są dostępne dla systemu Mac OS X.

Możesz je zainstalować za pomocą MacPorts :

sudo port install valgrind kcachegrind
Raimue
źródło
Próbowałem zainstalować macports i zainstalowałem port sudo valgrind kcachegrind, To był błąd dla obu aplikacji ------------------- Ostrzeżenie: Nie znaleziono indeksów! Czy zsynchronizowałeś swoje indeksy źródłowe? Błąd: nie znaleziono portu kcachegrind ---------------- jakakolwiek wskazówka, co się dzieje
indianwebdevil
1
Port kcachegrind został formalnie porzucony 2 lata temu :( trac.macports.org/log/trunk/dports/devel/kcachegrind/Portfile
Potatoswatter
@Potatoswatter W MacPorts jest wiele portów, które nie mają określonego opiekuna. Oznacza to, że nie można już zainstalować portu.
Raimue
1
@Raim Oznacza to, że port instaluje teraz oprogramowanie nieaktualne o 2 lata.
Potatoswatter
15

Możesz zainstalować KCacheGrind za pomocą MacPorts .

Istnieją również alternatywy, takie jak:

Zobacz też: Czy istnieje alternatywa dla KCacheGrind dla Mac Os X?

kenorb
źródło
8

Webgrind działa w PHP i może odczytywać dane wyjściowe cachegrind XDebug. Obecnie nie oferuje wszystkich funkcji KCacheGrind, ale jest bardzo prosty w instalacji i wydaje się, że ma odnowioną aktywność.

Jan Fabry
źródło
7

MacCallGrind to półkomercyjna alternatywa dostępna dla komputerów Mac. Eksperymentowałem z darmową wersją, która jest ograniczona do 3MB plików grindu. Pod względem funkcjonalności jest mniej więcej odpowiednikiem WinCacheGrind .

nurikabe
źródło
Teraz czysto komercyjne.
Victor Sergienko
2

Apple dostarcza instrumenty do monitorowania alokacji danych w czasie wykonywania i znajdowania wycieków, Shark do jawnego profilowania i Guard Malloc (wbudowane bezpośrednio w Xcode) do debugowania alokacji pamięci. To wszystko jest częścią narzędzi programistycznych.

Tommy
źródło
1
W ostatnich wydaniach OS X Shark jest teraz wbudowany w Instruments.
rcoup
1

valgrind jest dostępny dla mac. Jeśli tworzysz aplikację kakaową, możesz użyć narzędzi, które są dostarczane z XCode, takich jak wycieki, są one bardzo dobre.

shreyasva
źródło