Leistungsdaten werden aus verschiedenen Quellen erfasst.
Wie Debuginformationen und Umsetzungsberichte verfügbar gemacht werden, können Sie dem Abschnitt Erstellung mit erforderlichen Compileroptionen entnehmen.
Es kommt häufig vor, dass eine einfache Änderung an der Build- oder Laufzeitumgebung eine große Auswirkung auf die Leistung einer Anwendung hat, ohne dass der Quellcode der Anwendung tatsächlich geändert werden müsste. Die Build- und Laufzeithosts können auf der Basis verschiedener Kriterien, einschließlich Hardwareebene, Betriebssystemversion, Compilerversion und Buildoptionen, analysiert und bewertet werden. Es wird ein Bericht mit dem Namen Systemscorecard generiert, der Empfehlungen bereitgestellt, die angeben, wie die Systemkonfiguration für eine bessere Anwendungsleistung verbessert werden kann.
Die für eine aktive Anwendung erfassten Leistungsrohdaten stammen aus maschinennahen Systemtools, die auf Stichproben basieren. Beispielsweise erfasst tprof fortlaufend Stichproben für den Status des Instruktionszeigers des Prozessors, der die Speicheradresse der Instruktion enthält, die gerade ausgeführt wird. Nachdem der Leistungslauf abgeschlossen ist, werden die erfassten Adressen mithilfe der Debuginformationen des Compilers wieder den entsprechenden Quellcodezeilen zugeordnet. Die Stichprobenentnahmerate ist konfigurierbar, in der Regel erfolgt die Stichprobenentnahme jedoch einmal alle 10 Millisekunden. Jede Stichprobe wird als ein Sekundenschritt bezeichnet.
Die auf Stichproben basierende Leistungsdatenerfassung hat auch Nachteile. Zusätzlich zu der Anwendung, für die die Profilerstellung erfolgt, könnten mehrere Prozesse auf dem Zielsystem ausgeführt werden. Häufig werden viele der Sekundenschritte konkurrierenden Prozessen zugeordnet. Aus diesem Grund wird empfohlen, ein relativ "ruhiges" System für die Ausführung zu verwenden. Im Idealfall wäre die Maschine der Durchführung von Leistungstests zugeordnet.
Die Sekundenschritte, die der Anwendung, für die die Profilerstellung erfolgt, entsprechen, werden unter dem Knoten "Eigene Anwendung" im Hot-Spot-Browser angezeigt. Alle anderen Sekundenschritte sind dem Knoten "Andere Prozesse" zugeordnet. Wenn eine große Anzahl Sekundenschritte einem anderen Prozess zugeordnet wird, sollten Sie, falls möglich, die Reduzierung der Systembelastung während nachfolgender Leistungsläufe in Erwägung ziehen.
Da die Daten auf Stichproben basieren, wird durch die Erhöhung der Anzahl Stichproben die statistische Relevanz der erfassten Daten erhöht. Es wird empfohlen, die Anwendung, für die die Profilerstellung erfolgt, für die Dauer von mindestens 30 Sekunden, wenn möglich, jedoch viel länger, auszuführen. Wählen Sie dazu eine Gruppe von Eingabewerten aus, die zur Folge hat, dass die Ausführung der Anwendung länger dauert, oder verwenden Sie ein Script, bei dem die Ausführung der Anwendung in einer Schleife erfolgt.
Standardmäßig werden Sekundenschritte nicht angezeigt. Stattdessen wird der Zeitverbrauch als Prozentsatz relativ zu einem Bereich, wie z. B. der Anwendung oder dem gesamten System, angezeigt. Um die Anzeige von Sekundenschritten zu aktivieren, öffnen Sie zunächst vom Hauptmenü aus über den Dialog 'Vorgaben'. Navigieren Sie dann zur Vorgabenseite, die über aufgerufen werden kann. Wählen Sie unter Timingdaten die Option Sowohl Prozentsatz als auch Sekundenschritte anzeigen aus.
Stichprobendaten für den Aufrufstack werden von maschinennahen Systemtools erfasst. Diese Daten stammen unter AIX aus procstack und unter Linux aus OProfile.
Ungefähr einmal pro Sekunde wird eine Stichprobe für den Aufrufstack der Anwendung erstellt und alle Funktionen der Anwendung, die gerade ausgeführt werden, werden erfasst. Nachdem der Leistungslauf abgeschlossen ist, können diese Informationen mithilfe des Aufrufbrowsers analysiert werden.
XL C-Compiler verfügen über die Funktionalität zur Erstellung von XML-Berichtsdateien, die während der Kompilierung durchgeführte Optimierungen beschreiben. Diese Berichte sind nicht unbedingt erforderlich; wenn sie jedoch generiert werden, stehen mehr Informationen für die Analyse zur Verfügung. Einer der interessantesten Fakten, die diese Berichte aufdecken, ist die Position der Funktionsaufrufe, die während der Kompilierung integriert wurden.