Ca tient dans deux petites procédures, StartTest() et StopTest(), et une fois le test terminé, ça affiche le résultat dans la console, histoire de ne pas fausser la mesure avec le débugger.
Voilà le code:
Code : Tout sélectionner
ProcedureDLL StartTest()
Global TimeStart
TimeStart = GetTickCount_()
EndProcedure
ProcedureDLL StopTest()
M_Sec = GetTickCount_()-TimeStart
Heures = M_Sec/3600000
R_h = M_Sec - Heures*3600000
Minutes = R_h/60000
R_m = R_h - Minutes*60000
Secondes = R_m/1000
R_s = R_m - Secondes*1000
MilliSecondes = R_s
Duree$ = RSet(Str(Heures),2,"0")+":"+RSet(Str(Minutes),2,"0")+":"+RSet(Str(Secondes),2,"0")+" - "+RSet(Str(MilliSecondes),3,"0")
Fin$ = "Duree du test : "+Duree$
OpenConsole()
PrintN("")
PrintN(Fin$)
PrintN("")
PrintN("Soit, "+(Str(M_Sec))+" millisecondes")
PrintN("")
PrintN("")
Print("Pressez une touche pour quitter")
Repeat
If Inkey() : CloseConsole() : End : EndIf
ForEver
EndProcedure
J'ai testé avec le code suivant:
Code : Tout sélectionner
;IncludeFile "Speed_Proc.pb"
StartTest()
f.f = 1
For j = 0 To 1600
For t = 1 To 2500000
f = f * 1.00003
Next
Next
StopTest()
Alors, si ça peut être utile à quelqu'un !!!
Chris
