Ressourcenintensive Methoden erkennen
Ressourcenintensive Methoden beeinträchtigen die Gesamtleistung der Ausführung eines Programms. Über die Sichten
'Ausführungsablauf' und 'Methodenaufruf' können Sie diese Methoden leicht identifizieren. Dies könnten Kandidaten für eine Optimierung sein.
Voraussetzungen:
In den folgenden Fällen kann es sinnvoll sein, eine Methode zu optimieren:
- Die Methode wird häufiger aufgerufen als erforderlich. Das Leistungsverhalten
kann verbessert werden, indem die Methode entweder seltener aufgerufen wird, oder
Verbesserungen an der Methode selbst vorgenommen werden.
- Die Methode weist eine lange Ausführungszeit auf. Alternativ kann das Leistungsverhalten
verbessert werden, indem Sie die Klassen mit der längsten Ausführungszeit identifizieren, und dann
die Methoden optimieren, die lange auf dem Stack verweilen. Derartige Methoden müssen sich nicht
zwangsläufig in der Ausführung befinden, sondern rufen möglicherweise andere Methoden für Sortierungs- oder
Delegationsaufgaben auf.
Häufig aufgerufene Methoden lokalisieren
So lokalisieren Sie häufig aufgerufene Methoden:
- Wählen Sie einen Monitor oder einen Agenten in der Sicht 'Profilmonitor' aus.
- Klicken Sie mit der rechten Maustaste, und wählen Sie dann die Option Öffnen mit > Ausführungsablauf aus. Die
Sicht 'Ausführungsablauf' wird geöffnet.
- Klicken Sie auf die Schaltfläche Vergrößern
zum Vergrößern einer Methodenaufrufreihenfolge.
- Klicken Sie mit der rechten Maustaste auf einen Methodennamen in der grafischen Sicht, und wählen Sie
Alle Wiederholungen feststellen aus. Die
Stellen, an denen sich bestimmte Muster wiederholen, werden mit X markiert.
- Vergrößern Sie einen solchen Bereich, um die Wiederholungsmuster und die Anzahl der Wiederholungen einer Methode anzuzeigen.
Methoden mit langen Ausführungszeiten lokalisieren
So lokalisieren Sie Methoden mit einer langen Ausführungszeit:
- Untersuchen Sie in der Sicht 'Ausführungsablauf' die Länge des Streifens der einzelnen Methoden. Je länger der Streifen, desto länger die Ausführungszeit.
- Um weitere Details zu einer Methode anzuzeigen, öffnen Sie die Sicht 'Methodenaufruf' durch Auswählen der betreffenden Methode,
klicken Sie mit der rechten Maustaste und wählen Sie dann die Option Methodenaufruf anzeigen aus.
Die Sicht 'Methodenaufruf' wird geöffnet.
- Um die Ausführungszeit des aufrufenden Moduls der Methode anzuzeigen, klicken Sie in der Sicht 'Methodenstatistik'
die rechte Maustaste an und wählen Sie dann die Option Methodenaufruf anzeigen aus.
Diese Sicht enthält eine Darstellung der Methode in Form einer beschrifteten Zeile.
- Klicken Sie in der lokalen Symbolleiste auf Aufrufer anzeigen
, um die
Aufrufer der ausgewählten Methode in der Sicht darzustellen. Bei jedem Klick auf diese Schaltfläche wird die jeweils nächsthöhere
Methode in der Aufrufreihenfolge angezeigt.
- Wählen Sie eine Methode aus. Die vertikale Länge des markierten Bereichs deutet auf die Basiszeit
der Methode hin. Sie können die Ausführungszeit dieser Methode anhand der vertikalen Zeitskala auf der rechten
Seite der Sicht bestimmen. Die Statuszeile enthält die kumulierte Zeit für die Methode.
Breitere Sicht der Programmausführung erhalten
So erhalten Sie eine breitere Sicht der Ausführungszeit:
- Öffnen Sie die Sicht 'Ausführungsablauf': Wählen Sie im Kontextmenü des Monitors in der Sicht
'Profilmonitor' die Optionen Öffnen mit > Ausführungsablauf aus.
- In dieser Sicht steht im rechten Bereich, wie in der Sicht 'Methodenaufruf', eine vertikale Zeitskala zur Verfügung.
- Verwenden Sie die Schaltfläche Vergrößern
, um einen bestimmten Bereich der Sicht zu vergrößern und die Methode hervorzuheben, die Sie untersuchen möchten.
- Klicken Sie auf einen Methodennamen (oder auf den Leerraum darunter), um die Methode auswählen. Die vertikale Länge des hervorgehobenen Bereichs
deutet auf die Basiszeit der Methode hin. Den genauen Wert der Basiszeit sehen Sie in der Statuszeile.
- Verwenden Sie die Schaltfläche Verkleinern
, um einen
größeren Abschnitt des gesamten Programms anzusehen, während der hervorgehobene Bereich der Methode weiterhin sichtbar bleibt (der Bereich mit dem gelben Rechteck bleibt sichtbar).
Wenn die Darstellung der Ausführung auch nicht vollständig sichtbar bleibt, können Sie dennoch feststellen, wie viel Zeit eine Methode im Verhältnis zur gesamten Anwendung verbraucht.
Zugehörige Konzepte
Übersicht über Profilermittlungstool
Sicht und Tabelle 'Ausführungsablauf'
Statistische Sichten
Zugehörige Tasks
Anwendungsprofil erstellen
Einen Java-Prozess starten oder anhängen
Garbage-Collection untersuchen
(C) Copyright IBM Corporation 2000, 2006. Alle Rechte vorbehalten.