@MVXA: Vergiss diese Diskussion, schreib was du am besten lesen kannst!
Hier trotzdem mal ein Speedtest. Bei mir ist XOR am schnellsten. Aber
ev. blockiert es die parallele Ausführung von Befehlen etwas mehr in
bestimmten Fällen.
Code: Alles auswählen
#N = 999999999
Delay(500)
; Anti-Cool'n'Quiet
MOV Ecx, #N
!ALIGN 4
loopstart0:;>
DEC Ecx;<
JNZ l_loopstart0
empty = timeGetTime_()
MOV Ecx, #N
!ALIGN 4
loopstart:;>
!MOV Eax, 0
!MOV Edx, 0
!MOV Ebx, 0
!MOV Esi, 0
!MOV Edi, 0
DEC Ecx;<
JNZ l_loopstart
empty = timeGetTime_() - empty
pbadd = timeGetTime_()
MOV Ecx, #N
!ALIGN 4
loopstart2:;>
!AND Eax, 0
!AND Edx, 0
!AND Ebx, 0
!AND Esi, 0
!AND Edi, 0
DEC Ecx;<
JNZ l_loopstart2
pbadd = timeGetTime_() - pbadd
asmadd = timeGetTime_()
MOV Ecx, #N
!ALIGN 4
loopstart3: ;>
!XOR Eax, Eax
!XOR Edx, Edx
!XOR Ebx, Ebx
!XOR Esi, Esi
!XOR Edi, Edi
DEC Ecx;<
JNZ l_loopstart3
asmadd = timeGetTime_() - asmadd
MessageRequester("Addition:", " Time: " + Str(empty) + " " + Str(pbadd) + " " + Str(asmadd))