80 votes

Qu'est-ce qu'un bon profileur facile à utiliser pour C ++ sous Linux?

J'ai besoin de profiler du code tournant sous C ++ sous Linux. Pouvez-vous recommander des profileurs?

37voto

smcameron Points 1864

Utilisez gprof.

Compilez simplement avec -pg flag (je pense (mais je ne suis pas sûr) que vous devez activer les optimisations cependant) et utilisez gprof pour analyser le fichier gmon.out que votre exécutable produira ensuite.

par exemple:

 gcc -pg -o whatever whatever.c

./whatever

gprof whatever gmon.out
 

Même chose avec g ++ et cpp.

24voto

dfa Points 54490

valgrind est un profileur Linux bien connu

13voto

XWare Points 155

J'ai utilisé Zoom depuis RotateRight ( http://www.rotateright.com ). Il présente une vue papillon des fonctions et vous pouvez double-cliquer sur n’importe quelle fonction pour plonger dans le code source ou asm. Construisez avec des informations de débogage (-g) pour voir votre source, mais vous devez tout de même créer et profiler du code optimisé .

12voto

Falaina Points 4760

Je suis un fan de Oprofile. Il implique l'installation d'un module du noyau et a un peu d'une courbe d'apprentissage, mais il est assez puissant et fonctionne très bien pour l'optimisation de programmes/programmes sans les symboles de débogage.

Vtune est un autre très puissant générateur de profils faite par Intel. Je crois que la version Linux est gratuite pour les logiciels commerciaux.

Il y a aussi le Valgrind suite d'outils proposés par le dfa. Callgrind serait probablement ce qui vous intéresse le plus. Cachegrind(dont featureset est un sous-ensemble de Callgrind) et le Massif de sont également intéressantes, mais je n'ai aucune expérience avec ce dernier.

5voto

Milan Babuškov Points 20423

Jetez un coup d’œil à KCacheGrind qui est une interface graphique pour valgrind et qui le rend très facile à utiliser.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X