Temps d'execution d'un programme [Résolu]

cs_othland 301 Messages postés jeudi 18 décembre 2003Date d'inscription 9 février 2010 Dernière intervention - 4 mars 2006 à 16:46 - Dernière réponse : cs_max12 1496 Messages postés dimanche 19 novembre 2000Date d'inscription 7 juillet 2014 Dernière intervention
- 5 mars 2006 à 17:17
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???
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
julienbj 458 Messages postés jeudi 4 décembre 2003Date d'inscription 19 décembre 2008 Dernière intervention - 4 mars 2006 à 18:46
3
Merci
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]

Merci julienbj 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 95 internautes ce mois-ci

Commenter la réponse de julienbj
cs_max12 1496 Messages postés dimanche 19 novembre 2000Date d'inscription 7 juillet 2014 Dernière intervention - 4 mars 2006 à 19:33
0
Merci
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 ()
@+ ;<
Commenter la réponse de cs_max12
cs_othland 301 Messages postés jeudi 18 décembre 2003Date d'inscription 9 février 2010 Dernière intervention - 4 mars 2006 à 21:26
0
Merci
je te remercie pour le lien julienbj
trés interessant!!!
Commenter la réponse de cs_othland
BruNews 21054 Messages postés jeudi 23 janvier 2003Date d'inscription 7 novembre 2014 Dernière intervention - 5 mars 2006 à 03:24
0
Merci
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++
Commenter la réponse de BruNews
cs_max12 1496 Messages postés dimanche 19 novembre 2000Date d'inscription 7 juillet 2014 Dernière intervention - 5 mars 2006 à 17:17
0
Merci
Merci pour les précision BN

if ()
@+ ;<
Commenter la réponse de cs_max12

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.