Temps d'execution d'un programme

[Résolu]
Signaler
Messages postés
299
Date d'inscription
jeudi 18 décembre 2003
Statut
Membre
Dernière intervention
9 février 2010
-
Messages postés
1491
Date d'inscription
dimanche 19 novembre 2000
Statut
Modérateur
Dernière intervention
7 juillet 2014
-
slt tlm:
je veux calculer le temps d'execution d'une portion de programme, pour cela j'ai utilisé ce qui suit:
////////////////////////////
clock_t t1,t2,t3;

t1=clock();
//ma portion
.
.
//
t2=clock();
t3=t2-t1;
/////////////////////////
1) est ce que c'est juste???
2) comment puis je convertir par la suite le résultat en milli-secondes ou en secondes et le mettre dans un float ou dans un string???

5 réponses

Messages postés
452
Date d'inscription
jeudi 4 décembre 2003
Statut
Membre
Dernière intervention
19 décembre 2008
13
Juste un lien d'une source ou la discussion est tres intéressante sur le calcul du temps d'execution:

http://www.cppfrance.com/codes/CLASSE-SIMPLE-POUR-MESURER-TEMPS-EXECUTION-PORTION-CODE-SUR-MACHINE-NON-DEDIEE-TESTS-WINDOWS_33788.aspx


Sinon, voila ce que j'utilisais auparavant pour le calcul du temps
(avant de lire les commentaires sur la source dont le lien est au
dessus):



clock_t debut, fin;

double duree;

debut=clock();

//Code dont on veut mesurer la duree

fin = clock();

duree = (double)(fin - debut) / CLOCKS_PER_SEC;


Vive le C
Tchao
[mailto:julienbj@hotmail.com Savon]
Messages postés
1491
Date d'inscription
dimanche 19 novembre 2000
Statut
Modérateur
Dernière intervention
7 juillet 2014

GetTickCount() si tu prog sous Windows
L'opérateur modulo pour les sec et tout
itoa(t3, Chaine, 10); //En chaine
wsprint(Chaine, "%s:%s", (t3 / 60000),
(t3 / 1000) %60); //Minute : Seconde

if ()
@+ ;<
Messages postés
299
Date d'inscription
jeudi 18 décembre 2003
Statut
Membre
Dernière intervention
9 février 2010
1
je te remercie pour le lien julienbj
trés interessant!!!
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
GetTickCount() seulement sur des traitement longs car 'by design' aucune précision garantie.
Windows fournit QueryPerformanceCounter() pour la haute précision.
RDTSC (asm) est utilisable et fort utile, sort un 64 bits sur EDX:EAX qu'il suffit de mettre dans un unsigned __int64 en entrée puis en sortie, idéal pour comparer finement 2 algos.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
Messages postés
1491
Date d'inscription
dimanche 19 novembre 2000
Statut
Modérateur
Dernière intervention
7 juillet 2014

Merci pour les précision BN

if ()
@+ ;<