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