avez-vous kcachegrind comme des outils de profilage pour mac [fermé]

99

Quelqu'un peut-il me parler des outils dont vous disposez pour le profilage comme kcachegrind wingrind valgrind pour la plate-forme mac.

Je ne pense pas que cela fonctionne sur mac, j'ai également une vérification rapide à ce sujet.

indianwebdevil
la source
J'essaie de profiler le code php / javascript, donc plus intéressé par ces profileurs. Merci anycase pour vos contributions.
indianwebdevil
1
Je pense que la plupart des navigateurs sont livrés avec leurs propres interpréteurs Javascript, mais Safari utilise JavascriptCore qui est exposé dans tout le système d'exploitation et donc la chose qui exécute presque certains du contenu Javascript scripté dans d'autres endroits comme Cheetah3D. Si vous activez le menu «Développer» dans les préférences, alors il y a un profileur javascript.
Tommy

Réponses:

134

J'ai fini par utiliser qcachegrind sur OSX. Il peut être installé via infusion

brew install qcachegrind

ou, pour activer la prise en charge de graphviz :

brew install qcachegrind --with-graphviz

Ce qui est génial avec ce programme, c'est que j'ai chargé avec succès un fichier cachegrind de 6,1 Go sur mon MacBook Pro! Assez lisse!

mr-sk
la source
9
brew updateavant de faire cela empêche les erreurs bizarres :)
grosser
3
brew install graphvizsi vous voulez de jolis graphiques d'appel.
Ngoc Pham
2
J'ai dû créer un lien symbolique dot pour que les graphes d'appels fonctionnent sudo ln -s / usr / local / bin / dot / usr / bin / dot
John Kramlich
Cela a fonctionné pour moi sans problème! Merci!
Răzvan Ciocănel
1
à partir de là, blog.josephscott.org/2013/07/03/… dans les commentaires, pour contourner la protection du système à utiliser dot: de @Motrin: Cela ne fonctionne plus dans OSX El Capitan en raison de la protection de l'intégration du système: sudo ln - s / usr / local / bin / dot / usr / bin / dot Solution de contournement: $ 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 Puis lancez qcachegrind comme d'habitude.
troseman
60

Essayez le combo qcachegrind + Graphviz killer.

Il s'installe rapidement via infusion, ce qui est bien.

Consultez ces instructions, installez-le essentiellement via:

brew install qcachegrind

qui téléchargera d'autres dépendances telles que qtet graphviz.

GlennR
la source
13
Il existe maintenant un 'brew install qcachegrind' où la formule est basée sur ce blog. Bien qu'il (atm) n'installe pas le /Applications/QCachegrind.app, juste un binaire qcachegrind.
DTest le
Un autre article utile: blog.jcmultimedia.com.au/2014/03/…
Jazzo
15

Valgrind et kcachegrind sont disponibles pour Mac OS X.

Vous pouvez les installer à l'aide de MacPorts :

sudo port install valgrind kcachegrind
raimue
la source
J'ai essayé d'installer macports et j'ai installé le port sudo valgrind kcachegrind, c'était l'erreur pour les deux applications ------------------- Attention: aucun index trouvé! Avez-vous synchronisé vos index sources? Erreur: Port kcachegrind introuvable ---------------- tout indice de ce qui se passe
indianwebdevil
1
Le port kcachegrind a été officiellement abandonné il y a 2 ans :( trac.macports.org/log/trunk/dports/devel/kcachegrind/Portfile
Potatoswatter
@Potatoswatter Il existe de nombreux ports dans MacPorts qui n'ont pas de mainteneur spécifique. Cela implique que le port ne peut plus être installé.
raimue
1
@Raim Cela implique que le port installe désormais un logiciel obsolète depuis 2 ans.
Potatoswatter
15

Vous pouvez installer KCacheGrind à l'aide de MacPorts .

Il existe également des alternatives telles que:

Voir aussi: Existe - t-il une alternative à KCacheGrind pour Mac Os X?

Kenorb
la source
8

Webgrind fonctionne en PHP et peut lire la sortie cachegrind de XDebug. Il n'offre actuellement pas toutes les fonctionnalités de KCacheGrind, mais il est super simple à installer et semble avoir une activité renouvelée.

Jan Fabry
la source
7

MacCallGrind est une alternative semi-commerciale disponible pour le Mac. J'ai expérimenté la version gratuite qui est limitée aux fichiers de broyage 3MB. C'est à peu près équivalent à WinCacheGrind en termes de fonctionnalités.

nurikabe
la source
Maintenant purement commercial.
Victor Sergienko
2

Apple fournit des instruments pour surveiller l'allocation des éléments à l'exécution et trouver les fuites, Shark pour le profilage explicite et Guard Malloc (directement intégré à Xcode) pour le débogage d'allocation de mémoire. Tout cela fait partie des outils de développement.

Tommy
la source
1
Dans les versions récentes d'OS X, Shark est désormais intégré aux instruments.
rcoup le
1

valgrind est disponible pour le mac. Si vous créez une application Cocoa, vous pouvez utiliser les outils fournis avec XCode tels que les fuites, ils sont très bons.

Shreyasva
la source