Gute c++ - profiler für den GCC
Versuchte ich zu finden, eine Verwandte Frage, aber alle vorherigen Fragen über Profiler für native c++ in windows. Ich googelte eine Weile und erfuhr, gprof, aber die Ausgabe von gprof tatsächlich enthaltenen Menge obskuren internen Funktionen. Gibt es eine gute opensource c++ - profiler mit einer guten Dokumentation?
- Sie können auch versuchen, die manuelle Profilerstellung mit code.google.com/p/profiny Seine overhead sollte wirklich klein im Vergleich zu anderen tools.
- mögliche Duplikate von Was kann ich verwenden, um ein Profil der C++ - code in Linux?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Valgrind
Ich bin völlig empfehlen diese
http://en.wikipedia.org/wiki/Valgrind
Nicht verwenden gprof, für die Gründe, die hier gegeben werden.
Was Sie brauchen, sind stackshots, hier erklärt. Ein Weg, um stackshots ist die pstack - Dienstprogramm. Ein anderer Weg ist die Verwendung der "Pause" - oder ctrl-break im debugger. Auch lsstack, wenn Sie noch ein Exemplar ergattern kann.
Wenn Sie wollen, um Geld ausgeben, RotateRight macht ein nettes tool basiert auf stack sampling genannt Zoom.
Kompilieren mit dem flag
-pg
und verwendengprof
.Wenn Sie nichts dagegen haben die KDE-Bibliothek-Abhängigkeiten, KCachegrind ist sehr nützlich bei der Visualisierung Hinzugefügt. Es hängt davon ab, Callgrind und Valgrind, als man hätte Ahnen können, sodass keine speziellen compiler-flags während der compile-Zeit.
Ich habe gehört, oprofile ist wirklich, wirklich gut für Echtzeit-Anwendungen. Nur Linux obwohl, AFAIK.
Wie viele Details müssen Sie in Ihrem Profil Berichte. Wenn Sie nur wollen, zu tun, einige wirklich einfache Zeit-profiling für ein paar Funktionen, dann ist die neue Funktionalität zur Verfügung, die über die C++11
chrono
- Klassen macht es leicht zu Profil, cross-Plattform, cross-compiler Weg.Sehen dieser Artikel für einige einfache profiling-code, der funktioniert ähnlich zu Matlab ist super einfach zu bedienen
tic
undtoc
Funktionen.