In diesem Falle hängt es auch von der verwendeten Architektur ab. Es gibt architekturen, da kostet ein Sprung oder ein Speicherzugriff zu viel wie 20 arithmetische Instruktionen. Wenn's ein Cache gibt, fällt der Overhead nur beim ersten Lesen an. Dito für Sprünge wenn's eine Jump Prediction (Sprungvorhersage) gibt.
Dann stellt sich auch die Frage, ob die Optimierung wirklich norwendig ist, weil anderswo Zeitrahmen nicht eingehalten werden können, zB weil die Funktion innerhalb einer ISR zur Ausführung kommt oder in "normalem Code". Weiters hängt es davon ab, wieviel Speicher man für Konstanten opfern möchte, gesett den Fall auf der Harware ist ein Table-Lookup schneller als Arithmetik. Wenn kein Speicher verfügbar ist oder zu knapp, bringt es nix, sich zu überlegen, ob man Zeit gegen Platz tauschen möchte.
Lesezeichen