„Sauberer“ Code, katastrophale Performance
"Clean" Code, Horrible Performance (2023)
In diesem Video und Artikel zeigt Casey Muratori anhand von Beispielen aus der Clean-Code-Literatur, dass die Befolgung zentraler Clean-Code-Regeln wie Polymorphie, kleine Funktionen und DRY zu erheblichen Performance-Einbußen führen kann. Seine Messungen ergeben, dass eine klassische Klassenhierarchie mit virtuellen Funktionen etwa 35 Zyklen pro Form benötigt, während eine einfache Switch-Anweisung mit einem flachen Struct nur 24 Zyklen braucht – eine 1,5-fache Beschleunigung allein durch den Verzicht auf Polymorphie. Muratori argumentiert, dass diese Regeln nicht nur die Lesbarkeit verbessern, sondern oft unnötige Indirektion und Overhead verursachen, und plädiert für eine leistungsbewusstere Programmierung.
Wenn wir uns die Ergebnisse ansehen, sehen wir etwas ziemlich Bemerkenswertes: Allein diese eine Änderung – den Code auf die altmodische Art zu schreiben statt auf die ‚Clean-Code‘-Art – brachte uns eine sofortige 1,5-fache Leistungssteigerung.