Reddit – learnprogramming – Wird der Hack als “Duff' s Device” in realen Anwendungen verwendet?

Duffs Gerät ist (fast) immer ein Beispiel für das, was wir als “Mikrooptimierung” bezeichnen würden.” Das klassische Beispiel für eine Mikrooptimierung ist eine, die die Codebasis kompliziert und verworren macht, ohne dass die Leistung der Anwendung spürbar verbessert wird.

Die meisten Tricks wie Duffs Gerät, die eine einzelne Schleife, eine einzelne kleine Funktion usw. optimieren, sind Mikrooptimierungen. CPUs sind heutzutage so verdammt schnell, dass Sie mit diesen Tricks normalerweise keine messbare Verbesserung erzielen. Sie machen es definitiv um Größenordnungen schwieriger, Ihren Code zu verstehen und zu pflegen. Neben der CPU-Geschwindigkeit sind Compiler heutzutage wirklich schlau. Sie können solche Tricks hinter den Kulissen ausführen, um Ihr kompiliertes Programm zu optimieren, ohne dass Sie Ihren Quellcode verfälschen müssen.

Die meisten Performance- “Probleme” sind heutzutage tatsächlich auf einem höheren Niveau als einzelne Schleifen. Denken Sie darüber nach, wie Ihr Datenmodell auf der Festplatte und im Speicher dargestellt wird, wie Sie den Austausch zwischen Festplatte und RAM einschränken können, wie Sie die Menge der über das Netzwerk serialisierten, gesendeten und deserialisierten Daten optimieren können usw. Von dort aus gelangen Sie zu den übergeordneten Algorithmen und Ansätzen, die Sie zur Lösung eines wirklich CPU-gebundenen Problems verwenden. Es ist heute fast immer falsch, eine einzelne Schleife mit so etwas wie Duffs Gerät zu optimieren.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.