Einzelnen Beitrag anzeigen

jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#27

Re: FOR-Schleifenvariable muss eine lokale Variable sein. Wa

  Alt 24. Aug 2003, 19:24
Zitat von Christian Seehase:
So gesehen könnte der Geschwindigkeitsvorteil sogar von der CPU abhängen.
Das hängt sie immer. Die Intel Chip Architekten haben den LOOP Befehl einfach vernachlässigt. Man kann es auch so sehen, dass Intel Prozesooren im Druchschnitt alle "höheren" (CISC) Befehle viel langsamer ausführen als mehrere/viele "niedrige" (RISC) Befehle.

Hier noch ein schnellere Variante der Test_DECJcc Funktion für den P4:
Code:
        MOV    ECX, EAX
        RDTSC            // Startzeit ermitteln (EDX:EAX)
@@Repeat:
        SUB    ECX, 1
        JNZ    @@Repeat
Ein "SUB ECX,1" ist auf einem P4 schneller als ein DEC ECX. Man staune, aber es ist so.
  Mit Zitat antworten Zitat