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:

Häufig aufgerufene Methoden lokalisieren

So lokalisieren Sie häufig aufgerufene Methoden:

  1. Wählen Sie einen Monitor oder einen Agenten in der Sicht 'Profilmonitor' aus.
  2. 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.
  3. Klicken Sie auf die Schaltfläche Vergrößern Symbol der Schaltfläche Vergrößern zum Vergrößern einer Methodenaufrufreihenfolge.
  4. 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.  
  5. 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:

  1. 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.
  2. 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.
  3. 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.
  4. Klicken Sie in der lokalen Symbolleiste auf Aufrufer anzeigen Symbol der Schaltfläche Aufrufer, 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.
  5. 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:

  1. Öffnen Sie die Sicht 'Ausführungsablauf': Wählen Sie im Kontextmenü des Monitors in der Sicht 'Profilmonitor' die Optionen Öffnen mit > Ausführungsablauf aus.
  2. In dieser Sicht steht im rechten Bereich, wie in der Sicht 'Methodenaufruf', eine vertikale Zeitskala zur Verfügung. 
  3. Verwenden Sie die Schaltfläche Vergrößern Symbol der Schaltfläche 'Vergrößern', um einen bestimmten Bereich der Sicht zu vergrößern und die Methode hervorzuheben, die Sie untersuchen möchten.
  4. 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.
  5. Verwenden Sie die Schaltfläche Verkleinern Symbol der 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