code coverage bzw. profiling tools !?
-
hallo leutz,
ich habe das problem dass eine C++ Anwendung (mathematische berechnungen ueber feste anzahl von iterationen) an geschwindigkeit viel langsamer geworden ist.
nun wuesste ich gerne ob es vielleicht profiling tools gibt, die mir den flaschenhals aufzeigen koennten ?
ich habe bereits fuer die code-coverage mit LCOV output erzeugt der mir in etwa zeigen sollte wo ich suchen muesste, jedoch ist ausfuehrungs-geschwindigkeit nicht unbedingt direkt mit code-coverage abhaengig.
irgend eine idee, wie (mit welchen tools) man sowas rausfinden koennte!?
(sorry, falls dieser post in der falschen unter-rubrik gelandet sein sollte, hielt diese als fuer die passenste)
gruss
-
Betriebssystem? Compiler?
-
ok, entschuldigung, das wichtigste vergessen:
- Die Anwendung kann sowohl unter Windows als auch unter FreeBSD uebersetzt und ausgefuehrt werden (konsolen-anwendung)
- compiler ist fuer windows Visual Studio 2003 fuer FreeBSD ist es gcc 4.2.1
-
Hab bisher nur gprof unter Linux eingesetzt in Kombination natürlich mit dem gcc. Hat bestens funktioniert, ist aber auch schon ein Weilchen her.
-
ok gprof scheint eine option zu sein.
kriege allerdings das exe (vorher mit option -pg gebaut) nicht zum laufen.
kackt mir unter BSD mit nem core-dump ab.im gdb sehe ich allerdings dass das beim anlegen einer globalen statischen variable passiert
.ohne -pg option ist alles schick.
sieht mir aber mehr nach was anwendungs-spezifischem aus, muss mich also erstmal durchkaempfen.trotzdem danke.
-
fuer diejenigen die es interessiert:
gprof mit BSD unter 8.0 kann zu problemen mit der libc fuehren

--> updaten, dann gehts
-
Wenn man richtig tief ins Profiling einsteigen will, kann man bei Intel CPUs deren Vtune Profiler kaufen (für nicht-kommerzielle Nutzung gibt es eine freie Linux-Version, die Windows Version kostet immer - aber es gibt eine 30 Tage-Demo).
Von AMD gibt es ein ähnliches Tool: CodeAnalyst - kostenlos für Windows und Linux, aber halt mit Profiling Details für AMD CPUs. Ich habe mal irgendwo gelesen, dass es auch prinzipiell unter Intel CPUs läuft, da aber weniger Details liefert (bzgl. Micro-Architektur Events).
Hab's nie probiert, wollte aber zumindest mal drauf hinweisen.
-
Es gibt noch von IBM purifyPlus. Das ist Memory Checker, Profile und Coverage Analyse in einem. Ist aber nicht ganz billig (1500€ oder so). Für den professionellen Einsatz aber sehr zu empfehlen.