Wenn Sie anfangen müssen , über Leistung nachzudenken, sind Sie in Schwierigkeiten. Sie sollten die ganze Zeit über Leistung nachdenken. Tatsächlich vermute ich, dass gute Programmierer über Leistung nachdenken werden, auch wenn sie dies nicht beabsichtigt hatten, in einer Art und Weise, dass Männer alle sieben Sekunden über Sex nachdenken.
Was wichtig ist, ist, welche Maßnahmen Sie basierend auf all diesen Überlegungen ergreifen werden. Gedanken sind billig, aber Aktionen können Code brechen und Fristen sprengen.
In den meisten Fällen ist es nur sinnvoll, nichts zu tun: Sie haben festgestellt, dass Ihr Code nicht häufig genug aufgerufen wird, damit Leistungsprobleme erkennbar sind - möglicherweise handelt es sich um einen Startcode, der einmal pro Computer ausgeführt wird 1% Ihrer potenziellen Benutzerbasis. Möglicherweise handelt es sich um ein kleines Stück redundanten Servercodes, der in einem Meer langsamer Datenbankzugriffe untergeht. Möglicherweise handelt es sich nur um eine ganzzahlige Zuweisung in einem unkritischen Codeabschnitt.
Sehr oft vermuten Sie, dass ein bestimmter Vorgang ein Leistungsproblem verursacht, das durch eine einfache Änderung behoben werden kann. Es gibt zum Beispiel das quälende Gefühl, bei jeder Anfrage eine komplexe SQL-Abfrage auszuführen oder zweimal nach denselben Daten aus einem Wörterbuch zu fragen. Hier ist das Wissen über Optimierungstechniken von Vorteil, und vielleicht passiert die überraschendste Schlussfolgerung:
Wenn Sie eine schnelle Technik kennen, die mit ziemlicher Sicherheit die Leistung eines Codeteils verbessert, tun Sie dies nicht.
Wenn Sie jetzt daran denken können, können Sie es sicher in fünf Minuten später tun. Wenn Sie den Code aus dem Code heraushalten (aber möglicherweise in einem // TODO
Kommentar), wird der Code bereinigt und Sie sparen Zeit, um an einer anderen Funktion zu arbeiten, und es wird keine Zeit verschwendet, wenn Sie den Code später wegwerfen. Wenn sich herausstellt, dass der ursprüngliche Code beim Testen zu Leistungsproblemen führt, wenden Sie Ihre schnelle Technik an.
Ich sage hier nicht, dass Sie vermeiden sollten, Code zu schreiben, der idiomatisch ist, nur weil er zufällig schneller ist. Schreiben Sie idiomatischen Code nach bewährten Methoden, die die Produktivität und Lesbarkeit verbessern und Fehler reduzieren. Es ist nur so, dass Sie sich immer für Lesbarkeit anstatt für Geschwindigkeit entscheiden, wenn Sie die Wahl zwischen idiomatischem Code nach dem Vorbild und einer schnelleren, aber einfach zu beschreibenden Alternative haben.
Die einzige schwierige Situation besteht darin, dass es scheinbar keinen einfachen Weg gibt, die Code-Performance zu verbessern, und es dennoch schmerzlich offensichtlich ist, dass ein Teil des Codes sofort nach seiner Bereitstellung kaputt geht - eine vollständige Datenbanküberquerung bei jedem Klick, hundert SQL-Anforderungen pro Seite auf der Website oder etwas ähnlich Schreckliches. Hier müssen Sie tatsächlich anhalten und noch etwas nachdenken. Dies sind normalerweise Architekturprobleme, die ohnehin nicht lokal gelöst werden können. Bestätigen Sie Ihre Vermutungen mit einem kurzen Impuls oder einem Prototyp, suchen Sie nach ähnlichen Erfahrungen und gemeinsamen Lösungen und erwägen Sie entweder eine Änderung der Architektur oder einen Rückgang der Funktionen.