Einzelnen Beitrag anzeigen

Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Sqr(X) vs X*X, Inc(X) vs X:=X+1, ...

  Alt 28. Feb 2006, 20:33
Zitat von Dust Signs:
Inc ist um einiges schneller als x := x + 1; Der Grund: was ist einfacher? Den Assemblerbefehl inc x (oder ähnlich; ist jetzt symbolisch zu verstehen) auszuführen, oder den Wert von x zu ermitteln, 1 zu addieren und das dann x zuzuweisen?

Dust Signs
Das gilt jedoch wenn ich mich recht entsinne nicht mehr für Delphi, sondern eher für (Turbo-)Pascal. Damals war die Umsetzung von "inc(x)" und "x:=x+1" unterschiedlich, während der Delphi-Compiler diese trivialen Fälle durchaus erkennt und optimiert. Wenn ich das richtig im Hinterkopf habe, ist in Delphi "x:=x*x" sogar schneller als "x:=sqr(x)" (obwhol sqr() meine ich via Compilermagic realisiert ist, also keinen CALL bedingt).

Somit kann ich mir eigentlich nur vorstellen, dass diese Dinge der Abwärtskompatibilität wegen vorhanden sind. Und zumindest bei mir, wohl eher aus Gewohnheit, ist es so, dass ich ein "inc(x)" schneller lese als den entsp. Term.
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat