

Dim x As Double
Dim y As Double
Dim i As Long
Dim t As Single
x = 1
y = 1.000001
t = Timer
For i = 1 To 100000000
x = x * y
Next
t = Timer - t
Print " X= "; x
Print " Temps d'execution :", Round(t, 2) & " Sec"
Code: Select all
x.d = 1
y.d = 1.000001
t.l = ElapsedMilliseconds()
For i.l = 1 To 100000000
x * y
Next
t = ElapsedMilliseconds() - t
Msg.s = "X= " + StrD(x) + #CRLF$
Msg + "Temps d'execution :" + StrD(t / 1000, 2) + " Sec"
MessageRequester("", Msg)
Code: Select all
fn$ = "c:\your-proj\yourfilename.pb"
Compiler = RunProgram(#PB_Compiler_Home + "compilers\pbcompiler", fn$ + " /commented", #NULL$, #PB_Program_Read | #PB_Program_Open)
Code: Select all
x.d = 1
y.d = 1.000001
t.l = ElapsedMilliseconds()
!fld qword [v_y]
!fld qword [v_x]
!mov ecx, 100000000
!mulx_loop:
!fmul st0, st1
!dec ecx
!jnz mulx_loop
!fstp qword [v_x]
!fstp st0
t = ElapsedMilliseconds() - t
Msg.s = "X= " + StrD(x) + #CRLF$
Msg + "Temps d'execution :" + StrD(t / 1000, 2) + " Sec"
MessageRequester("", Msg)
Code: Select all
x.d = 1
y.d = 1.000001
t.l = ElapsedMilliseconds()
!movsd xmm0, [v_x]
!movsd xmm1, [v_y]
!mov ecx, 100000000
!mulx_loop:
!mulsd xmm0, xmm1
!dec ecx
!jnz mulx_loop
!movsd [v_x], xmm0
t = ElapsedMilliseconds() - t
Msg.s = "X= " + StrD(x) + #CRLF$
Msg + "Temps d'execution :" + StrD(t / 1000, 2) + " Sec"
MessageRequester("", Msg)