Haben Sie kcachegrind-ähnliche Profiling-Tools für Mac [geschlossen]?


99

Kann mir jemand etwas über die Tools erzählen, die Sie für die Profilerstellung haben, wie z. B. kcachegrind wingrind valgrind für die Mac-Plattform?

Ich glaube nicht, dass diese auf dem Mac funktionieren, ich habe auch eine schnelle Überprüfung.


Ich versuche, PHP / Javascript-Code zu profilieren, also mehr an diesen Profilern interessiert. Vielen Dank für Ihre Beiträge.
Indianwebdevil

1
Ich denke, die meisten Browser werden mit ihren eigenen Javascript-Interpreten ausgeliefert, aber Safari verwendet JavascriptCore, das im gesamten Betriebssystem verfügbar ist, und daher das, was fast sicher skriptgesteuerte Javascript-Inhalte an anderen Orten wie Cheetah3D ausführt. Wenn Sie das Menü "Entwickeln" in den Einstellungen aktivieren, befindet sich dort ein Javascript-Profiler.
Tommy

Antworten:


134

Am Ende habe ich qcachegrind unter OSX verwendet. Es kann über Brew installiert werden

brew install qcachegrind

oder, um die Unterstützung von Graphviz zu aktivieren :

brew install qcachegrind --with-graphviz

Das Tolle an diesem Programm ist, dass ich erfolgreich eine 6,1-GB-Cachegrind-Datei auf mein MacBook Pro geladen habe! Ziemlich schick!


9
brew updatevorher verhindert dies seltsame erros :)
gröber

3
brew install graphvizwenn Sie einige hübsche Anrufdiagramme wollen.
Ngoc Pham

2
Ich musste Punkt symlinken, um Callgraphs zum Arbeiten zu bringen. Sudo ln -s / usr / local / bin / dot / usr / bin / dot
John Kramlich

Das hat bei mir problemlos funktioniert! Vielen Dank!
Răzvan Ciocănel

1
aus diesem, blog.josephscott.org/2013/07/03/… in Kommentaren, um den Systemschutz zu umgehen, um dot zu verwenden: von @Motrin: Dies funktioniert in OSX El Capitan aufgrund des Systemintegrationsschutzes nicht mehr: sudo ln - s / usr / local / bin / dot / usr / bin / dot Problemumgehung: $ 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 Starten Sie dann qcachegrind wie gewohnt.
Troseman

60

Probieren Sie die Killer-Kombination qcachegrind + Graphviz aus.

Es lässt sich schnell über das Gebräu installieren, was sehr schön ist.

Lesen Sie diese Anweisungen und installieren Sie sie grundsätzlich über:

brew install qcachegrind

Dadurch werden andere Abhängigkeiten wie qtund heruntergeladen graphviz.


13
Es gibt jetzt ein 'Brew Install Qcachegrind', bei dem die Formel auf diesem Blog basiert. Obwohl es (atm) die Datei /Applications/QCachegrind.app nicht installiert, ist es nur eine qcachegrind-Binärdatei.
DTest

Ein weiterer nützlicher Beitrag: blog.jcmultimedia.com.au/2014/03/…
Jazzo

15

Sowohl valgrind als auch kcachegrind sind für Mac OS X verfügbar.

Sie können sie mit MacPorts installieren :

sudo port install valgrind kcachegrind

Ich habe versucht, Macports zu installieren und habe Sudo Port Valgrind Kcachegrind installiert. Dies war der Fehler für beide Apps ------------------- Warnung: Keine Indizes gefunden! Haben Sie Ihre Quellindizes synchronisiert? Fehler: Port kcachegrind nicht gefunden ---------------- keine Ahnung, was los ist
indianwebdevil

1
Der kcachegrind Port wurde vor 2 Jahren offiziell aufgegeben :( trac.macports.org/log/trunk/dports/devel/kcachegrind/Portfile
Potatoswatter

@Potatoswatter Es gibt viele Ports in MacPorts, die keinen bestimmten Betreuer haben. Dies bedeutet, dass der Port nicht mehr installiert werden kann.
Raimue

1
@Raim Dies bedeutet, dass der Port die Software jetzt 2 Jahre veraltet installiert.
Potatoswatter

15

Sie können KCacheGrind mit MacPorts installieren .

Es gibt auch einige Alternativen wie:

Siehe auch: Gibt es eine KCacheGrind-Alternative für Mac Os X?


8

Webgrind läuft in PHP und kann die Cachegrind-Ausgabe von XDebug lesen. Es bietet derzeit nicht alle Funktionen von KCacheGrind, ist jedoch sehr einfach zu installieren und scheint neue Aktivitäten zu haben.



2

Apple liefert Instrumente zur Überwachung der Laufzeitzuweisung von Inhalten und zum Auffinden von Lecks, Shark für die explizite Profilerstellung und Guard Malloc (direkt in Xcode integriert) für das Debuggen der Speicherzuweisung. Diese sind alle Teil der Entwicklertools.


1
In den letzten OS X-Versionen ist Shark jetzt in Instruments integriert.
Gruppe

1

valgrind ist für den Mac verfügbar. Wenn Sie eine Kakao-App erstellen, können Sie die mit XCode gelieferten Tools wie Lecks verwenden. Sie sind sehr gut.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.