Petit bout de code tout simple
Publié : lun. 29/mars/2004 14:56
Je me suis amusé à faire un petit bout de code pour tester le temps qui est utilisé par un code pour se terminer.
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:
J'en ai fait une petit lib avec TailBite, mais on peut aussi l'utiliser comme un fichier Include normal.
J'ai testé avec le code suivant:
Il suffit d'appeler StartTest() avant de commencer le test, et StopTest() quand le code à tester à terminé son boulot.
Alors, si ça peut être utile à quelqu'un !!!
Chris
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
