Die Ansichten 'Leistungsdiagramm für Aufrufe' und 'Methodendetails' helfen Ihnen, die Abschnitte Ihrer Anwendung zu finden, die am meisten Zeit erfordern. Anschließend können Sie untersuchen, ob diese zeitaufwendigen Bereiche effizienter gestaltet werden können. Wenn Sie den Code für Ihre Anwendung analysieren, sollten Sie zunächst auf die häufigsten Codierungsfehler achten, die Ursache für einen unzureichenden Durchsatz sind.
Unnötige Berechnungen: Codeabschnitte, die in früheren Versionen einer Anwendung notwendig waren, können im Laufe der weiteren Entwicklung, im Zuge der Verfeinerung von Algorithmen oder durch Datenänderungen hinfällig werden. Nicht immer werden solche nicht mehr benötigten Abschnitte auch entfernt. Aus diesem Grund führen viele große Programme Berechnungen durch, deren Ergebnisse nie verwendet werden. Durch die für diesen Code vergeudete Zeit kann es zu Engpässen kommen.
Zu den unnötigen Berechnungen gehören auch solche, die standardmäßig oder automatisch ausgeführt werden, auch wenn sie nicht erforderlich sind. Beispiele für diese Art von Engpässen sind Anwendungen, die beim Herunterfahren Datenstrukturen freigeben, obwohl dies nicht notwendig ist, oder Anwendungen, die Verbindungen zu Workstations herstellen, obwohl kein Benutzer an diesen Workstations arbeitet. Mit einem Leistungsprofil können Sie herausfinden, wie viel Zeit für inaktiven Code aufgewendet wird. Wenn Sie überzeugt sind, dass die Ergebnisse einer Berechnung nicht gebraucht werden, können Sie den Code entfernen.
Vorzeitige Berechnungen: Alle Berechnungen, die ausgeführt werden, bevor ihre Ergebnisse benötigt werden, können zu einem Engpass führen. Es kann beispielsweise unnötig sein, eine Liste mit Zahlen zu sortieren, wenn der Benutzer eine solche Sortierung nicht angefordert hat. Aus den Leistungsdaten ist nicht ersichtlich, ob die Berechnung verzögert werden kann. Die Daten geben jedoch die Kosten für die Berechnung an, so dass Sie entscheiden können, ob die Berechnung verschoben werden soll.
Unnötige Neuberechnungen: Manchmal berechnen Programme erforderliche Werte neu, anstatt sie zur späteren Verwendung zwischenzuspeichern. Die Bestimmung der Länge einer konstanten Zeichenfolge kann beispielsweise zu unnötigen Berechnungen führen, wenn die Berechnung in eine Schleife eingebettet ist. Die Länge der Zeichenfolge wird so viele Male mit immer demselben Ergebnis neu berechnet. Aus den Leistungsdaten können Sie ersehen, an welcher Stelle die erneute Berechnung stattfindet, und dann entscheiden, dass der Wert nach der ersten Berechnung gespeichert werden soll.
Ineffiziente Berechnungen: Ein nicht optimal geeigneter Algorithmus oder ein mangelhaftes Layout der Datenstruktur kann für das Programm zusätzliche Arbeit bedeuten. Der anfängliche Durchsatz kann bei kleinen Dateien akzeptabel erscheinen. Sobald jedoch größere oder komplexe Dateien verwendet werden, kann der Durchsatz schnell stark abfallen. Das Leistungsprofil teilt Ihnen die Kosten jeder Berechnung bei unterschiedlichen Größenverhältnissen mit, so dass Sie absehen können, ob bei noch größeren Dateien Probleme zu erwarten sind. Sollte dies der Fall sein, können Sie alternative Algorithmen und Datenstrukturen verwenden, die den Prozess beschleunigen.
Speicherverluste und Thread-Engpässe können den Durchsatz ebenfalls herabsetzen. Sammeln Sie zur Lösung derartiger Probleme Daten mit den Profilgruppen Analyse auf Speicherverluste und Thread-Analyse. Beachten Sie, dass Daten zur Verlusterkennung nicht zusammen mit anderen Laufzeitanalysedaten erfasst werden können.
Übergeordnetes Thema: Leistungsdaten anzeigen und analysieren
Zugehörige Tasks
Informationen aus der Ansicht 'Leistungsdiagramm für Aufrufe' abrufen
Zugehörige Verweise
Ansicht 'Methodendetails'
Ansicht 'Leistungsdiagramm für Aufrufe'
Datenbefehle für das Leistungsdiagramm für Aufrufe