molily: Performance nach Lesbarkeitsoptimierung

Beitrag lesen

Hallo,

Ich gewinne grade den Eindruck, dass meine Optimierungen zur Lesbarkeit und Wartbarkeit des Codes immer mit Performance-Einbußen einhergehen könnten.

Es ist die Sache nicht wert, sich mit Mikro-Benchmarks und anschließenden Mikro-Optimierungen auseinander zu setzen. Selbst wenn du statistisch sinnvolle Benchmarks vornimmst, bekommst du Zahlen heraus, die dir über die Performance *deiner Anwendung* nichts sagen.

Heutige Scriptsprachen-Interpreter optimieren den erzeugten Bytecode automatisch, wenn er häufig aufgerufen wird. Durch Techniken wie Function Inlining und Loop Unrolling sind Funktionen und Schleifen im Bytecode nicht mehr notwendig zu sehen. Händische, auf Intuition basierende Optimierungen können sogar schädlich für die Performance sein. Insbesondere auf dem Level, das du beschreibst.

Optimiere Anwendungscode *immer* auf Lesbarkeit. Schreibe Code für Menschen. Nutze Funktionen, wie es dir für die Codestrukturierung und die Code-Wiederverwendbarkeit als sinnvoll erscheint.

Eine generelle Strategie, wie man Performance optimiert, habe ich hier beschrieben:

http://forum.de.selfhtml.org/archiv/2014/3/t216853/#m1488117

Kurz gesagt: Identifiziere Performance-Probleme in der realen, laufenden Anwendung in deren konkreten Abläufen und Algorithmen auf hoher Ebene. Die Schreibweise von einzelnen if-Anweisungen und die Nutzung von Funktionen trägt natürlich zur Anwendungsperformance bei, aber es bringt nichts, sie rein formal und ohne Kontext zu betrachten.

Mathias