1. Vermeiden Sie vorzeitige Optimierung
Hauptmaximen:
- Leistung wird oft im Namen unnötiger Optimierungen geopfert.
- Vorzeitige Optimierung gilt als „Wurzel allen Übels“ in der Programmierung.
Die empfohlenen Regeln sind:
- Regel 1: Nicht optimieren.
- Regel 2: Optimieren Sie nur, wenn der Bedarf klar und unvermeidbar ist.
2. Konzentrieren Sie sich auf eine klare und korrekte Codearchitektur
- Erstes Ziel: Erstellen Sie gut strukturierte, wartbare Programme, bevor Sie sich auf die Leistung konzentrieren.
- Wenn das architektonische Fundament solide ist, können später Optimierungen hinzugefügt werden, ohne die Integrität des Codes zu beeinträchtigen.
- Kapselung: Nutzen Sie das Ausblenden von Informationen, um Designentscheidungen zu isolieren und so lokale Änderungen und Verbesserungen zu ermöglichen, ohne das System als Ganzes zu beeinträchtigen.
3. Berücksichtigen Sie die Leistung beim ersten Entwurf, aber vermeiden Sie vorzeitige Verpflichtungen
- Vermeiden Sie beim Entwurf Entscheidungen, die die zukünftige Leistung einschränken, insbesondere in:
- APIs: Stellen Sie sicher, dass kritische Methoden keine Leistungseinbußen verursachen, wie z. B. die Erstellung unnötiger Objekte.
- Persistente Datenformatierung: Wählen Sie Datenformate, die Flexibilität und Effizienz ermöglichen.
- Beispiel für eine ineffiziente API: Die getSize-Methode der Klasse java.awt.Component gibt ein veränderliches Dimension-Objekt zurück, das unnötige Zuweisungen erfordert und die Leistung beeinträchtigt.
4. Bewerten Sie die Leistung mit geeigneten Tools (Profiling und Benchmarking)
- Profiler: Verwenden Sie Profilerstellungstools, um zu ermitteln, wo das Programm die meiste Zeit verbraucht, und vermeiden Sie so die Optimierung von Teilen, die nicht den eigentlichen Engpass darstellen.
- Beispieltool: jmh (Java Microbenchmark Harness) wird für detailliertes Leistungs-Mikrobenchmarking in Java empfohlen.
- Profiling hilft dabei, ineffiziente Algorithmen (z. B. quadratisch) zu identifizieren, die durch effizientere Algorithmen ersetzt werden sollten, bevor man sich auf Verbesserungen auf niedriger Ebene konzentriert.
5. Berücksichtigen Sie Portabilität und Leistungsvariabilität in verschiedenen Bereichen
- Implementierungen und Hardware
- Die Leistung in Java kann zwischen JVM-Versionen, Hardwareplattformen und Konfigurationen stark variieren.
- Es ist wichtig, Optimierungen auf allen Zielplattformen zu überprüfen, um eine konsistente Leistung sicherzustellen.
6. Optimierungsprozess nach der Entwicklung
Empfohlene Schritte:
- Stellen Sie den Entwurf fertig und implementieren Sie eine klare und prägnante Version des Programms.
- Bewerten Sie die Gesamtleistung. Suchen und optimieren Sie bei Bedarf die Bereiche, die sich am stärksten auf die Leistung auswirken.
- Priorisieren Sie die Auswahl effizienter Algorithmen; Eine ungeeignete Wahl des Algorithmus wird nicht durch Optimierungen auf niedriger Ebene behoben.
- Messen Sie die Leistung nach jeder Anpassung, um positive Auswirkungen zu bestätigen.
Abschließende Zusammenfassung
- Best Practice: Konzentrieren Sie sich auf das Schreiben von Qualitätscode, da gutes Design im Allgemeinen mit effizienter Leistung vereinbar ist.
- Kontinuierliche Bewertung: Messen Sie immer die Auswirkungen von Optimierungen auf die Leistung.
- Allgemeines Beispiel: Wenn kritische Methoden aufgrund unnötiger Objekte die Effizienz beeinträchtigen, ziehen Sie Alternativen wie unveränderliche Typen oder Methoden in Betracht, die primitive Werte anstelle von Objekten zurückgeben, wodurch Zuweisungen reduziert werden und das Programm schneller und effizienter wird.
Das obige ist der detaillierte Inhalt vonArtikel Seien Sie beim Optimieren vorsichtig. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn