Einzelnen Beitrag anzeigen

Dax
(Gast)

n/a Beiträge
 
#5

Re: Lohnen sich If abfragen vor dem schreiben auf einen Wert

  Alt 25. Dez 2007, 02:47
Das ist auch kein Wunder, wenn man den Maschinencode vergleicht..
Delphi-Quellcode:
// EAX: i, EDX: x

// mit Prüfung

cmp eax, edx
je @@done
mov eax, edx
@@done:

// ohne Prüfung

mov eax, edx
Da die Sprungvorhersage bei modernen Prozessoren schon so sehr ausgereift ist, dass die Fehlerwahrscheinlichkeit bei statischen Daten gegen 0 geht, wirkt sich der Sprung kaum aus, so bleibt es bei CMP/MOV mit Prüfung und bei MOV ohne Prüfung. Wenn es später an fetter Brocken geht, sagen wir, Dateisystemobjekte, macht eine Prüfung aber durchaus Sinn: beschreiben beide Werte das selbe Objekt, tut man einfach nichts, tun sie nicht, räumt man das Objekt (möglicherweise kostspielig) auf, bevor man sich auf das neue festlegt.
  Mit Zitat antworten Zitat