Profiling mit gprof - Prof. Dr. Rudolf Berrendorf
Profiling mit gprof - Prof. Dr. Rudolf Berrendorf
Profiling mit gprof - Prof. Dr. Rudolf Berrendorf
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
-f function_name<br />
Mit dieser Option lässt sich der Call-Graph auf eine Funktion und deren Kinder begrenzen.<br />
Diese Option kann öfters hintereinander benutzt werden.<br />
-F function_name<br />
Diese Option arbeitet ähnlich wie die –f Option, aber nur die Dauer, die in der Funktion und<br />
deren Kinder gebraucht wird, wird benutzt um die gesamte Zeit und den prozentualen Anteil<br />
zu berechnen. Diese Option kann öfters hintereinander verwendet werden.<br />
3.5 Symspecs<br />
Viele Optionen erlauben das ein- oder ausschließen von Funktionen <strong>mit</strong>tels einem symspec<br />
(Symbol Beschreibung) <strong>mit</strong> folgender Syntax:<br />
Dateiname_<strong>mit</strong>_einem_Punkt<br />
| Methodenname_ohne_Punkt<br />
| Zeilennummer<br />
| ([beliebiger_Dateiname]`:'(beliebiger_Methodenname|Zeilennummer) )<br />
Beispiele:<br />
Test.c Markiert die komplette Test.c-Datei. Durch den Punkt interpretiert <strong>gprof</strong> diesen<br />
symspec als Datei. Hat der Dateiname keinen Punkt, muss ein „:“ hinter der Datei angefügt<br />
werden (Bsp: „test:“)<br />
main Markiert die komplette main-Methode. Da es von der main-Methode mehrere<br />
Instanzen geben kann, sollte eine genauerer symspec <strong>mit</strong> Dateiname und Methodenname oder<br />
Zeilennummer angegeben werden (Bsp: Test.c:main oder Test.c:122).<br />
4. Interpretation des Outputs<br />
<strong>gprof</strong> beherrscht verschiedene Formate für die Ausgabe. Das einfachste Format für die<br />
Ausgabe( Dateiinformationen, Ausführungszähler, Funktions- und Dateisortierung ) wurde<br />
bereits in oberem Kapitel ausführlich beschrieben. Weitere Formate sind:<br />
4.1 Flat-<strong>Prof</strong>il<br />
Das Flat-<strong>Prof</strong>il zeigt die komplette Zeit an, die das Programm in jeder Funktion verbringt.<br />
Wird die –z Option nicht benutzt, dann werden Funktion, die anscheinend nicht aufgerufen<br />
werden oder anscheinend keine Zeit verbrauchen, nicht angezeigt. Dies kann geschehen,<br />
wenn die Funktion nicht lange genug läuft um in das Programmzählerhistogramm<br />
aufgenommen zu werden. Diese Funktion ist nicht von denen unterscheidbar, die nie<br />
aufgerufen werden.<br />
Beispiel eines Flat-<strong>Prof</strong>ils eines kleinen Programms:<br />
8