Je cherche un profileur afin de trouver le goulot d'étranglement dans mon code C ++. J'aimerais trouver un outil de profilage gratuit, non intrusif et efficace. Je suis développeur de jeux et j'utilise PIX pour Xbox 360 et je l'ai trouvé très bon, mais ce n'est pas gratuit. Je connais Intel VTune , mais ce n'est pas gratuit non plus.
224
Réponses:
CodeXL a maintenant remplacé l' analyste de code AMD de fin de ligne et les deux sont gratuits, mais pas aussi avancés que VTune. Il y a aussi Sleepy , qui est très simple, mais fait le travail dans de nombreux cas.
la source
Very Sleepy est un profileur CPU C / C ++ pour les systèmes Windows (gratuit).
CppCheck est un profileur CPU C / C ++ statique pour les systèmes Windows (gratuit).
la source
Proffy est assez cool: http://pauldoo.com/proffy/
Avertissement: j'ai écrit ceci.
la source
Il existe un profileur d'instrumentation (précis pour les fonctions) pour MS VC 7.1 et supérieur appelé MicroProfiler. Vous pouvez l'obtenir ici (x64) ou ici (x86) . Il ne nécessite aucune modification ou ajout à votre code et est capable d'afficher des statistiques de fonction avec les appelants et les callees en temps réel sans avoir besoin de fermer l'application / d'arrêter le processus de profilage.
Il s'intègre à VisualStudio, vous pouvez donc facilement activer / désactiver le profilage pour un projet. Il est également possible de l'installer sur la machine propre, il suffit que les informations de symbole soient localisées avec l'exécutable en cours de profilage.
Cet outil est utile lorsque l'approximation statistique des profileurs d'échantillonnage comme Very Sleepy n'est pas suffisante.
Une comparaison approximative montre qu'elle bat AQTime (lorsqu'elle est invoquée dans l'instrumentation, exécution au niveau de la fonction). Le programme suivant (optimisation complète, inlining désactivé) s'exécute trois fois plus rapidement avec un micro-profileur affichant les résultats en temps réel, qu'avec AQTime qui collecte simplement des statistiques:
la source
Microsoft dispose de Windows Performance Toolkit .
Il nécessite Windows Vista, Windows Server 2008 ou Windows 7.
la source
Un nouvel ajout est Shiny .
La
la source
Je recommande fortement Windows Performance Toolkit (WPT) ou XPERF
L'outil de ligne de commande xperf en ligne de commande enregistre les journaux de suivi des événements pour Windows (ETW) qui peuvent être analysés à l'aide de l'outil GUI xperfview.
L' utilisation de l'argument de ligne de commande stacktrace s'est révélée être un outil inestimable pour mon entreprise car elle définit et résout les goulots d'étranglement. L'une des choses les plus convaincantes est que le WPT peut être installé dans n'importe quel environnement, même sur le vénérable Windows XP .
Sous Windows 8, l'Analyseur de performances Windows place xperf à un niveau encore plus élevé.
Les chiffres et les statistiques fournis dans les journaux ETW sont inégalés en détail, à l'exception de Visual Studio Profiler (2010/2012), qui est également génial mais pas gratuit AFAIK.
Si vous n'avez jamais utilisé xperf ... vous ne savez pas ce qui vous manque
la source
J'utilise AQTime, c'est l'un des meilleurs outils de profilage que j'ai jamais utilisé. Ce n'est pas gratuit mais vous pouvez obtenir un essai de 30 jours, donc si vous prévoyez d'optimiser et de profiler un seul projet et que 30 jours vous suffisent, je vous recommande d'utiliser cette application. ( http://www.automatedqa.com/downloads/aqtime/index.asp )
la source
Veuillez essayer mon profileur, appelé cRunWatch. Il ne s'agit que de deux fichiers, il est donc facile à intégrer à vos projets et nécessite d'ajouter exactement une ligne pour instrumenter un morceau de code.
http://ravenspoint.wordpress.com/2010/06/16/timing/
Nécessite la bibliothèque Boost.
la source
J'ai utilisé Luke Stackwalker et il a fait le travail pour mon projet Visual Studio.
D'autres projets intéressants sont:
la source
J'ai utilisé "TrueTime - qui fait partie de la suite DevPartner de Compuware depuis des années. Il existe une [version gratuite] (vous pouvez essayer Compuware DevPartner Performance Analysis Community Edition.) Disponible.
la source
J'utilise VSPerfMon qui est le StandAlone Visual Studio Profiler. J'ai écrit un outil GUI pour m'aider à l'exécuter et à regarder les résultats.
http://code.google.com/p/vsptree/
la source
Vous pouvez utiliser EmbeddedProfiler, c'est gratuit pour Linux et Windwos.
Le profileur est intrusif (par fonctionnalité) mais il ne nécessite aucune modification de code. Ajoutez simplement un drapeau de compilateur spécifique (-finstrument-functios pour gcc / MinGW ou / GH pour MSVC) et liez la bibliothèque du profileur. Il peut vous fournir une arborescence d'appels complète ou simplement une liste de fonctions. Il a sa propre interface graphique d'analyseur.
la source