Als Spieleentwickler und allgemein als Software-Entwickler muss man unbedingt in jeder Situation auf die Performance achten. Dabei gehts nicht unbedingt darum, dass jede Software performance-kritisch ist, sondern dass man generell immer die beste und schnellste Lösung finden sollten. Wie in der Oliver-Kahn Werbung(
), gib dich nicht mit dem zweitbestem zufrieden.
Nein, dem kann ich so leider nicht zustimmen. Performance ist einfach nur
ein Quallitätsmerkmal von vielen. Die Aufgabe bei der Softwareentwicklung besteht darin einen möglichst optimalen Mittelweg zur Quallitativ hochwertiger Software zu finden. Es bringt überhaupt nichts wenn man hoch optimierten Code schreibt, dieser aber das Design nachhaltig schädigt (Verständlichkeit, Immobilität, Flexibilität, etcpp). Hoch optimierter Code handelt z.B. häufig massig Spezialfälle ab; auf kosten der Verständlichkeit/Übersichtlichkeit/Wartbarkeit/.. Für ein gutes Design macht es also in 99% der Fälle kein Sinn den
vermeindlich besten (im Kontext performantesten) Weg zu gehen, weil diese Performance oft überhaupt nicht gefordert ist. Warum sollte ich z.B. weitere Abstraktionsebenen einfügen wenn der Zugriff auf Methoden per virtual table ein potentieller Performancekiller sein kann? -- Wohl nur weil es meinem Design zu gunsten kommt.
Die Aufgabe eines Softwareentwicklers ist wesentlich komplizierter, weil Softwarequalität sich aus vielen Aspekten zusammensetzt, welche sich z.T. gegenseitig heftigst beeinflussen.
Dazu kommt noch das
frühzeitige Optimierung schonmal gar nichts bringt, oder um es mit Kuth's Worten zu sagen:
"Premature optimization is the root of all evil".