Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

 << zurück
C von A bis Z von Jürgen Wolf
Das umfassende Handbuch für Linux, Unix und Windows
– 2., aktualisierte und erweiterte Auflage 2006
Buch: C von A bis Z

C von A bis Z
1.116 S., mit CD, Referenzkarte, 39,90 Euro
Galileo Computing
ISBN 3-89842-643-2
gp Kapitel 21 Zeitroutinen
  gp 21.1 Die Headerdatei <time.h>
    gp 21.1.1 Konstanten in der Headerdatei <time.h>
    gp 21.1.2 Datums – und Zeitfunktionen in <time.h>
  gp 21.2 Laufzeitmessung (Profiling)


Galileo Computing - Zum Seitenanfang

21.2 Laufzeitmessung (Profiling)  toptop

Für kleinere Programme können Sie eine Laufzeitmessung mit der Funktion clock() vornehmen. Für größere und umfangreiche Projekte ist diese Funktion aber weniger geeignet. Bei solch speziellen Fällen sollten Sie extra Programme einsetzen, die für diese geschrieben wurden, so genannte Profiler.

Ein Profiler ist ein eigenständiges Programm, welches Sie zur Laufzeitanalyse verwenden können. Der Vorteil dieses Werkzeugs ist, dass Sie mit ihm auch einzelne Funktionen analysieren können. So lässt sich schnell herausfinden, welcher Teil des Quellcodes mehr Zeit als gewöhnlich beansprucht. Ein Profiler ist ebenfalls ein Standardwerkzeug für Codetuning-Freaks.

Bei den kommerziellen Entwicklungsumgebungen ist der Profiler im Normalfall mit dabei. Es gibt aber auch einen kostenlosen Kommandozeilen-Profiler, den GNU-Profiler gprof, der für alle gängigen Systeme erhältlich ist.

Es ist nicht die Aufgabe dieses Buchs, Ihnen die Werkzeuge der Programmierung näher zu erläutern, dennoch soll kurz auf die Verwendung des Profilers gprof unter Einsatz des gcc-Compilers eingegangen werden. Für andere Profiler lesen Sie bitte die jeweilige Dokumentation der Online-Hilfe.

Als Erstes benötigen Sie einen fehlerfreien Quellcode, den Sie analysieren wollen. Dann müssen Sie den Quellcode mit dem Compilerschalter –pg übersetzen:

gcc –pg programmname.c

Jetzt befindet sich im Verzeichnis eine Datei namens »a.out« (unter Windows/MS-DOS auch »a.exe«). Diese Datei ist die ausführbare Datei für Ihren Quellcode. Starten Sie jetzt das ausführbare Programm »a.out«. Nun werden die Profiling-Informationen in die Datei »gmon.out« geschrieben, die sich jetzt ebenfalls im Verzeichnis befindet. Nach Programmende können Sie gprof zur Auswertung der Datei »gmon.out« aufrufen. Die Ausgabe, welche häufig etwas länger ist, leiten Sie am besten in eine Datei um:

gprof ./a.out > test_prof.txt

Die Textdatei »test_prof.txt« können Sie jetzt mit einem Editor Ihrer Wahl öffnen. Diese Datei beinhaltet wiederum zwei Dateien. Der erste Teil nennt

gp  die verbrauchte Rechenzeit der Funktionen
gp  die Anzahl der Aufrufe von Funktionen

Im zweiten Teil befindet sich die Verteilung der Rechenzeit von Funktionen, auf die von ihnen aufgerufenen Unterfunktionen. Mehr zum Werkzeug gprof erfahren Sie in der entsprechenden Dokumentation.


Hinweis   Sofern Sie mehr zum Profiling wissen wollen, kann ich Ihnen mein Buch »Linux-UNIX-Programmierung« empfehlen, welches Sie auch zum Probelesen online auf meiner Homepage vorfinden.


 << zurück
  
  Zum Katalog
Zum Katalog: C von A bis Z
C von A bis Z
bestellen
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchtipps
Zum Katalog: Shell-Programmierung






 Shell-Programmierung


Zum Katalog: Linux-UNIX-Programmierung






 Linux-UNIX-Programmierung


Zum Katalog: C/C++






 C/C++


Zum Katalog: UML 2.0






 UML 2.0


Zum Katalog: Reguläre Ausdrücke






 Reguläre Ausdrücke


Zum Katalog: Linux






 Linux


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo





Copyright © Galileo Press 2006
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de