Brandenburgische Technische Universität Cottbus Program Profiling Andrzej Filipiak Übung Testen von Software SoSe 2006
Gliederung Einleitung gprof GNU Profiler Eclipse Test & Performance Tools Platform Zusammenfassung Literatur / Quellen Übung Testen von Software 2
Einleitung – Profiling Zeit-, Funktionen- und Objektstatistiken Optimierungshinweise 20/80-Regel Fehlererkennung – zu viel / zu wenig Zeit Übung Testen von Software 3
gprof GNU Profiler
gprof (1) Inhaltsübersicht Informationen Installation Optionen Ausführung Beispiel Beurteilung Übung Testen von Software 5
gprof (2) Informationen, Installation C / C++ (Linux) In Fast jeder Linux-Distribution ( binutils ) GPL (General Public License) Knoppix 4.0.2, binutils-Version SuSe 9.0, binutils-Version Übung Testen von Software 6
gprof (3) Optionen Compiler -pg ( p flaches Profil, g Funktionengraph) -g (Debugger-Informationen) gprof -l (Informationen zu jeder Zeile) -A (Informationen zu jeder Funktion) -z (Informationen über nicht ausgeführte Funktionen) Übung Testen von Software 7
gprof (4) Ausführen Kompilierung mit Parameter g++ -pg test.cpp –o test Programmausführung./test gmon.out Datei wurde erstellt Ablauf des Programms überlegen Kein Fehler darf auftreten Profilerausführung gprof test > ergebnisse.txt Übung Testen von Software 8
gprof (5) Beispiel const int N = 40000; int vector[N]; void copy(void){ for (int i = N - 1; i > 0; i--) vector[i] = vector[i-1]; } void insert(int n){ copy(); vector[0] = n; } int main(int argc, char **argv){ for (int i = 0; i < N; i++) insert(i); return 0; } Übung Testen von Software 9
gprof (6) Beurteilung Vorteile In fast jeder Linux-Distribution Kostenlos Mehrere Optionen Funktioniert unter Knoppix (?) Wird ständig erweitert / verbessert Übung Testen von Software 10
gprof (7) Beurteilung Nachteile Kommandozeile (Command Line) Viele Optionen / Argumente Mehrere Ausführungsschritte Ergebnisse nur im Textmodus Hoher Analysierungsaufwand Übung Testen von Software 11
Eclipse Test & Performance Tools Platform (TPTP)
TPTP (1) Inhaltsübersicht Informationen Installation Beispiel Beurteilung Übung Testen von Software 13
TPTP (2) Informationen Eclipse Test & Performance Tools Platform (TPTP) Platform User Interface Standard Daten-Modelle Sammeln von Daten Kommunikation Remote Execution Environments Extension-Points Monitoring Tools Testing Tools Tracing and Profiling Tools Übung Testen von Software 14
TPTP (3) Informationen Zielsprache(n) Java ( C/C++ geplant ) Zielsysteme Windows, Linux, Unix, Solaris Lizenzstatus Open Source-Projekt Übung Testen von Software 15
TPTP (4) Informationen (2) TPTP-Voraussetzungen ( Release ) Eclipse SDK Java Runtime (JRE) oder Java Development Kit (JDK) 1.4 Eclipse Modeling Framework (EMF) SDK XML Schema Infoset Model (XSD) SDK Agent Controller Übung Testen von Software 16
TPTP (5) Installation Eclipse Download unter zip-Datei SDK v Test & Performance Tools Platform Download unter Release Eclipse Modeling Framework Tipps unter XML Schema Infoset Model & Agent Controller Tipps unter Übung Testen von Software 17
TPTP (6) Beispiel tool/tptpProfilingArticle.html casts/tptpProfile.html Übung Testen von Software 18
TPTP (7) Beurteilung Vorteile Viele Optionen / Testmöglichkeiten Grafische Darstellung von Ergebnissen Für mehrere Betriebssysteme geeignet Kostenlos Übung Testen von Software 19
TPTP (8) Beurteilung (2) Nachteile Nichttriviale Bedienung Komplexe Installation Übung Testen von Software 20
Profiling – Zusammenfassung Hilfreich bei (großen) Projekten Analyse Optimierung Erkennung von Fehlern Keine extra Softwarekosten Übung Testen von Software 21
Literatur / Quellen gprof /gprof.html /gprof.html TPTP Tool/tptpProfilingArticle.html Tool/tptpProfilingArticle.html /tptpProfile.html /tptpProfile.html Übung Testen von Software 22
Danke für Ihre Aufmerksamkeit!