Je suis à la recherche d'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 un développeur de jeux, et j'utilise PIX pour Xbox 360 et je l'ai trouvé très bien, mais ce n'est pas gratuit. Je connais l'Intel VTune, mais ce n'est pas gratuit non plus.Quel est le meilleur profileur C++ gratuit pour Windows?
Répondre
CodeXL a désormais remplacé le AMD Code Analyst de fin de ligne et les deux sont gratuits, mais pas aussi avancés que VTune. Il y a aussi Sleepy, ce qui est très simple, mais fait le travail dans de nombreux cas.
Je l'ai utilisé « TrueTime -.. Une partie de la suite DevPartner de Compuware pendant des années Il y a une [version gratuite] (. Vous pouvez essayer Compuware DevPartner Performance Analysis Community Edition) disponible
J'utilise AQtime, il est l'un Ce n'est pas gratuit, mais vous pouvez obtenir un essai de 30 jours, donc si vous envisagez d'optimiser et de profiler seulement un projet et 30 jours vous suffisent, alors je vous recommande d'utiliser cette application. (http://www.automatedqa.com/downloads/aqtime/index.asp)
Seul cet outil m'a aidé à profiler compilé en mode mixte version (géré et natif) de l'application Web sur IIS. – Monsignor
Il est regrettable qu'ils ne soutiennent pas les gens qui essaient d'évaluer leur produit. –
Actuellement, ils offrent un essai de 14 jours avec une fonctionnalité limitée. – Max
Microsoft a Windows Performance Toolkit.
Il ne nécessite de Windows Vista , Windows Server 2008 ou Windows 7.
Ce n'est pas gratuit :( –
Comment est-ce que ce n'est pas gratuit? Il fait partie du SDK Windows.J'ai pu le télécharger sans aucun problème. (Certes, nous avons un abonnement MSDN, donc certaines personnes peuvent avoir une expérience différente – epotter
Gratuit ou non, le lien ne fonctionne plus correctement –
J'utilise VSPerfMon qui est le StandAlone Visual Studio Profiler. J'ai écrit un outil graphique pour m'aider à l'exécuter et à regarder les résultats.
Proffy est assez cool: http://pauldoo.com/proffy/
Disclaimer: J'ai écrit cela.
Very Sleepy est un profileur CPU C/C++ pour les systèmes Windows (gratuit).
CppCheck est un profileur de CPU statique C/C++ pour les systèmes Windows (gratuit).
Veuillez essayer mon profileur, appelé cRunWatch. Il ne s'agit que de deux fichiers, il est donc facile de l'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ÉCESSAIRE la bibliothèque Boost.
Il existe un profileur d'instrumentation (précis pour la fonction) pour MS VC 7.1 et supérieur appelé MicroProfiler. You can get it here (x64) ou here (x86). Il ne nécessite aucune modification ou ajout à votre code et est capable d'afficher les statistiques de fonction avec les appelants et les appels dans en temps réel sans avoir besoin de fermer l'application/arrêter le processus de profilage.
Il s'intègre à VisualStudio, de sorte que vous pouvez facilement activer/désactiver le profilage pour un projet. Il est également possible de l'installer sur la machine propre, il faut seulement que les informations sur les symboles soient localisées avec l'exécutable en cours de profilage.
Cet outil est utile lorsque l'approximation statistique des profileurs d'échantillonnage tels que Very Sleepy n'est pas suffisante.
La comparaison brute montre qu'elle bat AQTime (lorsqu'elle est invoquée en instrumentation, exécution au niveau de la fonction). Le programme suivant (optimisation complète, inline désactivée) gère trois fois plus rapide avec micro profileurs l'affichage des résultats en temps réel, qu'avec AQtime simplement recueillir les statistiques:
void f()
{
srand(time(0));
vector<double> v(300000);
generate_n(v.begin(), v.size(), &random);
sort(v.begin(), v.end());
sort(v.rbegin(), v.rend());
sort(v.begin(), v.end());
sort(v.rbegin(), v.rend());
}
Il est facile à utiliser et profiler très rapide. Je n'ai pas résolu est un problème que, après avoir terminé le débogage, fenêtre de profilage ne se ferme pas automatiquement et vous devez le tuer via le gestionnaire de tâches (sans cela vous ne pouvez pas recompiler votre projet). –
J'ai trouvé qu'après avoir fermé mon application par le bouton CLOSE, la fenêtre du profileur peut être fermée aussi régulièrement. Mais lorsque je quitte l'application par un raccourci MAJ + F5 (Arrêt de la commande VS de débogage), le bouton de fermeture de la fenêtre du profileur est désactivé. –
Ne fonctionne pas avec VS 2015. – rustyx
Vous pouvez utiliser EmbeddedProfiler, il est gratuit pour Linux et Windwos.
Le profileur est intrusif (par fonctionnalité) mais il ne nécessite aucune modification de code. Ajoutez simplement un indicateur de compilateur spécifique (-finstrument-functios pour gcc/MinGW ou/GH pour MSVC) et liez la bibliothèque du profileur. Il peut vous fournir un arbre d'appel complet ou juste une liste de fonctions. Il a sa propre interface graphique d'analyseur.
Je recommande fortement Windows Performance Toolkit (WPT) ou Xperf
La ligne de commande enregistrements outil de ligne de commande XPerf Event Tracing pour les journaux de Windows (ETW) qui peuvent être analysés à l'aide de l'outil de xperfview GUI.
L'utilisation de stacktrace command line arguement s'est avérée être un outil précieux pour mon entreprise car elle permet de dépister et de résoudre 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 .
Sur Windows 8, Windows Performance Analyzer prend xperf à un niveau encore plus élevé.
Les chiffres et statistiques fournis dans les journaux ETW sont sans précédent dans les détails, sauf pour Visual Studio profiler (2010/2012), qui est également excellent mais pas gratuit AFAIK.
Si vous ne l'avez jamais utilisé XPerf ... vous ne savez pas ce que vous manquez
Eh bien, je sais que je manque d'URL de travail sur le site. –
je Luke Stackwalker et il a fait le travail pour mon projet Visual Studio.
D'autres projets intéressants sont:
- 1. Quel est le meilleur client SFTP scriptable gratuit pour Windows?
- 2. Quel est le meilleur logiciel FTP gratuit?
- 3. quel est le meilleur composant ftp gratuit pour delphi
- 4. Quel est le meilleur moteur 3d/2d portable gratuit?
- 5. Quel est le meilleur wrapper C# disponible gratuitement pour BITS?
- 6. Quel est le meilleur comparateur en ligne pour Windows?
- 7. Quel est le meilleur plugin gratuit Eclipse pour la création et l'édition de documents XML?
- 8. Profileur VB6/VBA gratuit et meilleures pratiques Excel
- 9. Quel est le meilleur outil pour le développement d'applications Blackberry?
- 10. Quel est le meilleur SGBD pour le travail?
- 11. Quel est le meilleur, uploader le plus simple fichier ajax?
- 12. Quel est le meilleur moyen de faire throbber en C#?
- 13. Quel est le meilleur emplacement pour conserver le fichier de configuration du programme sous WINDOWS?
- 14. Quel est le meilleur plugin gratuit pour Eclipse qui permet le formatage/indentation/nettoyage du code JSP?
- 15. Quel est le meilleur: mysql_connect ou mysql_pconnect
- 16. Quel est le meilleur éditeur CSS disponible gratuitement
- 17. Réponse, Résultat, Répondre, quel est le meilleur?
- 18. Quel est le meilleur plugin Maven Eclipse?
- 19. Quel est le meilleur dans asp.net 2.0?
- 20. Quel est le meilleur/le plus rapide pour apprendre le GLADE avec C?
- 21. Quel est le meilleur blog de XNA?
- 22. Quel est le meilleur BOOST_MPL_ASSERT ou BOOST_STATIC_ASSERT?
- 23. Quel est le meilleur code pour convertir les paramètres BSTR en ANSI en C/C++?
- 24. Quel est le meilleur cadre factice pour VB.NET?
- 25. Quel est le meilleur outil d'analyse statique pour NetBeans 6.1?
- 26. Quel est le meilleur cadre pour les applets de bureau?
- 27. Quel est le meilleur examen pour un chef de projet?
- 28. Quel est le meilleur langage pour la reconnaissance d'empreinte?
- 29. Quel est le meilleur widget pour entrer l'heure dans PyGTK
- 30. Quel est le meilleur tutoriel/lieu pour apprendre les génériques
Voici le lien pour CodeAnalyst: http://developer.amd.com/CPU/CODEANALYST/Pages/default. aspx – epotter
J'ai essayé de travailler avec ça maintenant, et je n'ai pas aimé du tout. Je ne pouvais même pas comprendre comment obtenir le temps total de la fonction% (y compris les appels) que TrueTime pouvait faire il y a 10 ans. –
J'ai écrit une adaptation de sleepy qui ne dépend pas de wxWidgets mais qui s'exécute dans la ligne de commande. Vous l'exécutez pendant un certain temps contre un processus en cours, puis lorsque vous l'arrêtez, vous obtenez les statistiques de ce que le processus passait son temps à faire. Il est non-intrusif dans le sens où vous n'avez pas besoin de modifier votre code pour l'utiliser, mais il suspend vos threads lorsqu'il lit les piles d'appels. Vous avez également besoin des fichiers pdb disponibles pour que vous puissiez obtenir une sortie significative, mais je suppose que cela s'applique à n'importe quel profileur. – CashCow