J'ai voulu faire un petit test de performances ASM/PB et les résultats sont nettes ! testez et vous verrez..

!!! désactivez le débogueur avant !!!
Code : Tout sélectionner
;==========================
; Test by Mytic
;==========================
;
; !!! désactivez le débogueur avant !!!
max = 999999999
Delay(1000)
;=================================(ASM)============================
Delay(1000)
t.d = ElapsedMilliseconds()
a.l = 0
!PUSH EAX
!PUSH EBX
!MOV EAX,[v_a]
!MOV EBX,[v_max]
!LP1:
!INC EAX
!CMP EAX,EBX
!JNE LP1
!MOV [v_a],EAX
!POP EBX
!POP EAX
S1.d = ElapsedMilliseconds()-t
;MessageRequester("ASM",StrD(S1))
;=================================(Semi ASM/PB!)============================
Delay(1000)
t.d = ElapsedMilliseconds()
a.l = 0
!PUSH EAX
!MOV EAX,[v_a]
Repeat
!INC EAX
!MOV [v_a],EAX
Until(a=max)
!POP EAX
S2.d = ElapsedMilliseconds()-t
;MessageRequester("Semi ASM/PB!",StrD(S2))
;=================================(PB!)============================
Delay(1000)
t.d = ElapsedMilliseconds()
a.l = 0
Repeat
a+1
Until(a=max)
S3.d = ElapsedMilliseconds()-t
;MessageRequester("PB!",StrD(S3))
;============================( Conclusion )
R$ = "ASM = " + Str(S1) + #CRLF$ + "Semi ASM/PB! = " + Str(S2) + #CRLF$ + "PB! = " + Str(S3)
MessageRequester("Comparaison",R$)
Asm = 511ms
ASM/PB = 1656ms
PB = 2422ms
