Einführung in die Leistung von Windows-Anwendungen
Die Leistung ist ein Aspekt der Softwareentwicklung, der sich auf die Messung und Verbesserung von Code konzentriert. Nachdem Sie diesen Artikel gelesen haben, haben Sie eine bessere Vorstellung davon: Welche Leistung mit sich bringt, warum es für Sie und Ihre Kunden wichtig ist und wie Sie mit der Messung der Leistung Ihrer Anwendung beginnen.
Was ist die Anwendungsleistung?
Die Leistung ist das Maß dafür, wie effektiv Ihre Anwendung die Ressourcen des Systems verwendet, um zu tun, was Sie dafür entworfen haben. Es behandelt verschiedene Aspekte der Interaktion Ihres Programms mit dem zugrunde liegenden Gerät. Dies kann folgende Elemente umfassen:
- CPU-Auslastung
- Arbeitsspeichernutzung
- Stromverbrauch
- Netzwerk- und Speicherauslastung
- Animationsleistung
... und vieles mehr.
Alle diese verschiedenen Eigenschaften weisen ein Kostenelement auf: Wie viel CPU verwendet meine Anwendung beispielsweise? Wie viel Bandbreite wird der Benutzer verbrauchen? Wie schnell wird diese bestimmte Seite meiner Anwendung geladen? Die Messung ist daher von zentraler Bedeutung für die Leistung.
Bedeutung
Benutzer erwarten die Leistung als grundlegende Eigenschaft der verwendeten Software. Sie möchten, dass ihre Anwendungen reaktionsfähig sind und die Ressourcen ihres Systems effizient nutzen. Anwendungen, die eine schlechte Leistung aufweisen, führen zu Frustration, was zu einer verringerten Benutzerbindung führen kann. Um Ihren Kunden die bestmögliche Erfahrung zu bieten, ist es daher von entscheidender Bedeutung, die Leistung zu einem regelmäßigen Teil Ihres Entwicklungsworkflows zu machen.
Wann sollten Sie die Anwendungsleistung messen?
Die Anwendungsleistung kann viele Phasen des Entwicklungsprozesses umfassen. Es hat Auswirkungen auf alles, was von Ihrer Wahl der Datenstruktur bis zur Technologie reicht, die Sie für die Erstellung Ihrer Anwendung auswählen.
Beachten Sie die Leistung, während Sie Ihre Anwendung entwickeln, und planen Sie regelmäßige Leistungstests im Rahmen der Aktualisierung und Wartung Ihrer Anwendung.
Wie wird die Anwendungsleistung gemessen?
Hier sind einige Vorschläge, wie Sie das Testen Ihrer Anwendung auf Leistung angehen.
- Nutzen Sie Ihr Wissen über Ihre Anwendung. Wenn Sie die am häufigsten verwendeten Szenarien für Ihre Benutzer verstehen, können Sie Ihre Zeit mit Bedacht auf die Optimierung der richtigen Dinge verbringen. Unklare Szenarien können ihre Messungen schwierig interpretieren lassen, also überspringen Sie diesen Schritt nicht! Wenn Sie Daten darüber haben, wie Benutzer mit Ihrer Anwendung interagieren, wäre dies ein guter Zeitpunkt, um sie zu betrachten.
- Wo verbringen Ihre Benutzer die meiste Zeit?
- Was sind die wichtigsten Dinge, die ein Kunde mit Ihrer Software macht?
- Was sind die Hardwareanforderungen Ihrer Anwendung?
- Legen Sie Leistungsziele für Ihre wichtigsten Benutzerszenarien fest.
- Seien Sie genau darüber, was Sie optimieren möchten. Ist es CPU? Batterie? Netzwerkdurchsatz?
- Wählen Sie die Tools aus, die Sie für ihre Messungen verwenden.
- Wenden Sie beim Testen eine wissenschaftliche Denkweise an. Erstellen Sie Benchmarks in einer kontrollierten Umgebung. Nehmen Sie dann Ihre Änderung vor, und messen Sie erneut, wie sich Ihre Änderungen auf das Verhalten Ihrer Anwendung auswirken.
- Fügen Sie Regressionstests zu Ihrer Testumgebung hinzu. Dadurch wird sichergestellt, dass Ihre Leistungsmetriken nicht im Laufe der Zeit zurücktreten. Moderne Hardware ist komplex und die Auswirkungen Ihrer Leistungsverbesserungen zu messen, kann eine Herausforderung sein. Wenn Sie Ihre Anwendungsleistung auf diese Weise untersuchen, messen und testen, stellen Sie sicher, dass Sie die Auswirkungen Ihrer Arbeit kennen.
Intertwining-Metriken
Während Sie sich in der Regel auf einen Leistungsbereich konzentrieren, beachten Sie, dass Bereiche häufig miteinander verknüpft sind. Eine Verbesserung in einem bereich kann in eine Verbesserung der anderen Bereiche überlappen.
Das Beheben des Stromverbrauchs ist z. B. häufig ein Synchronisierungsproblem. Eine Verringerung der Speicherauslastung kann dazu führen, dass die zeitverwendete CPU reduziert wird.
Es kann auch Situationen geben, in denen zusätzliche Ressourcen, die in einem Bereich aufgewendet werden, eine wirkungsvollere Verbesserung in einem anderen Bereich zur Folge haben.
Beispielsweise kann die Erhöhung der Speicherauslastung durch Zwischenspeichern die Netzwerk- oder Speicherauslastung verringern.
Die Entscheidung, eine Änderung vorzunehmen, hängt davon ab, was für Ihre Kunden am wichtigsten ist. Es ist auch Teil der Herausforderung (und Spaß!) der Leistungsarbeit.
Nächste Schritte
Hier sind einige Aktionen, die Sie jetzt ausführen können:
- Identifizieren Sie die am häufigsten verwendeten Szenarien Ihrer Anwendung. Dies ist die Grundlage für das, was Sie messen möchten.
- Ermitteln Sie Ihre Teststrategie. Was sind Ihre Testumgebung und die Wahl der Messtools?
Besuchen Sie die Übersicht über die Windows-App-Leistung, um mehr über die Tools und Anleitungen zu erfahren, die Ihnen auf Ihrer Leistungsreise zur Verfügung stehen.
Windows developer