Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#21

AW: Achtung. Optimierung beim Compiler

  Alt 10. Jun 2010, 18:16
Dieses wurde doch garnicht bezweifelt?

Es wurde nur gesagt, daß die "Optimierung" das Programm-Verhalten nicht verändert,
wie du es (so klingt es zumindestens) ständig behauptest.
Und das ist bisher nirgendwo nachgewiesen wurden.

Fazit:
- intern kann sich die Zählreihenfolge mal verändern
- aber dennoch wird an der Arbeitsweise und dem Ergebnis des Programms nix verändert.


PS: Diese Optimierung muß nichtmal nur rückwärts zählen.

zählt von 6 auf 0 runter:
(natürlich nur in diesem Beispiel und mit Optimierung halbwegs garantiert)
Delphi-Quellcode:
var i, j: Integer;
begin
for i := 5 to 10 do
  inc(j);
if j = 0 then ; // damit j nicht wegoptimiert wird
end;
zählt von -6 auf 0 rauf:
Delphi-Quellcode:
var i, j: Integer;
begin
for i := 10 downto 5 do
  inc(j);
if j = 0 then ;
end;
Und falls deine Schleifenvariable nach der Schleife einen "unerwarteten" Wert aufweist ... daran bist'e selbser Schuld, da eine Schleifenvariable nur innerhalb der Schleife gültig ist, welches der Compiler (wie auch schon erwähnt wurde) melden sollte.
$2B or not $2B
  Mit Zitat antworten Zitat