J'ai besoin de profiler du code tournant sous C ++ sous Linux. Pouvez-vous recommander des profileurs?
Réponses
Trop de publicités?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.
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é .
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.
Jetez un coup d’œil à KCacheGrind qui est une interface graphique pour valgrind et qui le rend très facile à utiliser.