next up previous contents index
Nächste Seite: 11.4 Debugging Aufwärts: 11. Tips und Tricks Vorherige Seite: 11.2 Zeitmessung im Programm   Inhalt   Index


11.3 Profiling

Natürlich könnte man in einem Programm die Zeitmessung in jede Funktion schreiben um das Laufzeitverhalten der Funktionen und Methoden zu ermitteln. Dies ist aber nicht nötig, da viele Entwicklungsumgebungen bereits Werkzeuge zur Leistungsanalyse (performance analysis), dem Profiling bereitstellen. Darin wird mindestens die in den Funktionen verbrachte Zeit und die Anzahl der Funktionsaufrufe (oft graphisch) ausgegeben. Manchmal läßt sich dies bis auf einzelne Quelltextzeilen auflösen. Neben den professionellen (und kostenpflichtigen) Profiler- und Debuggingwerkzeugen sind unter LINUX/UNIX auch einfache (und kostenlose) Kommandos dafür verfügbar.

LINUX> g++ -pg Jacobi.cc matvec.cc
LINUX> a.out
LINUX> gprof -b a.out > out
LINUX> less out

Der Compilerschalter -pg bringt einige Zusatzfunktionen im Programm unter sodaß nach dem Programmlauf das Laufzeitverhalten durch gprof analysiert werden kann. Der letzte Befehl (kann auch ein Editor sein) zeigt die umgeleitetete Ausgabe dieser Analyse auf dem Bildschirm an.

Gundolf Haase 2004-01-15