2010-03-13 4 views
19

Je suis intéressé par le profilage d'un programme de calcul de nombres. Je l'ai compilé avec les options -g et -pg et je l'ai lié et j'ai obtenu gmon.out. Après avoir lu l'info (texte brut) ça a l'air un peu moche. Je me demande s'il existe des outils open source pour obtenir une représentation graphique des 10 fonctions où le programme passe le plus de temps, ainsi qu'un diagramme de flux.Est-il possible d'obtenir une représentation graphique des résultats de gprof?

Merci

Répondre

22

Gprof2Dot par jrfonseca est un outil qui convertit la sortie de nombreux profileurs, parmi lesquels gprof, dans un graphique point.

+0

Wow, ça ressemble à un super outil ... merci pour le lien! Grande réponse –

+0

beaucoup! Maintenant, juste une petite question. Comment puis-je obtenir une représentation graphique maintenant du flux de contrôle du programme. je veux dire quelles fonctions sont appelées et dans quel ordre, et quel est le terme qui est dépensé pour chacune d'elles. thanjks – flow

+0

@Werner: Le graphe d'appel de Gprof2Dot ne fait-il pas cela? Sinon, je dois me méprendre. Ou: http://code.google.com/p/jrfonseca/wiki/Gprof2Dot#Frequently_Asked_Questions – msw

13

Pas tout à fait une réponse à votre question, mais peut-être une solution à votre problème: je passe de gprof à l'outil de callgrindvalgrind, principalement en raison de l'outil graphique incroyable kcachegrind, que vous pouvez utiliser pour visualiser les résultats. C'est interactif, vous pouvez donc zoomer sur des parties intéressantes du graphique d'appel.

Gprof2dot fonctionne avec callgrind ainsi qu'avec gprof.

+1

Mais il y a aussi le simple xdot.py qui est un visualiseur interactif pour les fichiers .dot. https://github.com/jrfonseca/xdot.py – stanm

+2

Scratch que - tellement de bonbons pour les yeux dans kcachegrind! O.O – stanm

Questions connexes