Bedingungsoperator schneller als if?
-
In vielen Fällen, wo man ein if-Konstrukt verwendet (wenn z.B. im if-Rumpf nur winzige Operationen gemacht werden müssen, z.B. einen Zähler erhöhen) könnte man auch einen wirkungsgleichen Bedingungsoperator verwenden.
Wie sieht das dann laufzeittechnisch aus, weil der Bedingungoperator ist ja ein Maschinenbefehl, während mit if (soweit ich informiert bin) ein Sprung im Programm verursacht wird, der zeitaufwendig sein soll (?)
Kann ich mir Laufzeitvorteile davon erhoffen, wenn ich an möglichst allen Stellen, wo es geht, die if-Konstrukte durch gleichwertige Bedingungsoperator-Ausdrücke ersetze?
Besten Dank, wenn sich jemand mit diesen technischen Feinheiten und der Maschinensprache auskennt.
-
Bedingungoperator ist ja ein Maschinenbefehl
Welchen meinst du? Hier: x = ( a > b ) ? 0 : 1; ist kein Maschinenbefehl. Der generierte ASM-Code fuer if sah gleich aus. Getested mit gcc ohne Optimierung.
-
ok thx also dann bringt das nichts ein.