10
votes

Bon profileur C ++ pour GCC

J'ai essayé de trouver une question connexe, mais toutes les questions précédentes concernent des profileurs pour Native C ++ dans Windows. J'ai googlé un moment et j'ai appris à propos de GProf, mais la production de GPROF contenait en réalité beaucoup de fonctions internes obscures. Y a-t-il un bon profileur OpenSource C ++ avec une bonne documentation?


2 commentaires

Vous pouvez également essayer le profilage manuel avec code.google.com/p/profiny Son surcharge devrait être vraiment petit que d'autres outils.


duplicailler possible de Que puis-je utiliser pour profiler Code C ++ dans Linux?


6 Réponses :


10
votes

Valgrind

Je recommande totalement cela http://fr.wikipedia.org/wiki/valgrind


0 commentaires

3
votes

Compilez à l'aide du drapeau -pg et utilisez GPROF < / code> .


0 commentaires

6
votes

n'utilise pas GProf , pour les raisons données ici .

Ce dont vous avez besoin sont des piles, Expliqué ici . Une façon de prendre des piquages ​​est la utilitaire de pstack . Une autre façon est d'utiliser «Pause» ou Ctrl-Break sous le débogueur. Aussi lstetack , si vous pouvez obtenir une copie.

Si vous voulez dépenser de l'argent, Roteright fait un bon outil basé sur l'échantillonnage de la pile appelé Zoom . < / p>


1 commentaires

@ Markj.adams: Ils continuent de le faire, enlevant des choses impopulaires. J'ai mis dans le lien archivé.



1
votes

Si cela ne vous dérange pas des dépendances de la bibliothèque KDE, KCachegrind est très utile avec la visualisation ajoutée. Cela dépend de Callgrind et de Valgrind, car on aurait pu deviner, donc aucun drapeau spécial de compilateur requis pendant la compilation.


0 commentaires

0
votes

J'ai entendu l'oprofile est vraiment, vraiment bon pour les applications en temps réel. Linux seulement cependant, Afaik.


0 commentaires

0
votes

Combien de détails avez-vous besoin dans vos rapports de profil? Si vous souhaitez simplement faire un profil de temps vraiment simple pour quelques fonctions, la nouvelle fonctionnalité disponible via les classes C ++ 11 CHRONO Les classes facilitent votre profil dans une plate-forme transversale, un compilateur croisé.

voir Cet article pour un code de profilage simple qui fonctionne de la même manière que les fonctions de Matlab's Super Facile à utiliser TIC TIC TOC .


0 commentaires