Fonction qui rend le temp d'execution en milliseconde

aymen2782 Messages postés 2 Date d'inscription mercredi 8 mars 2006 Statut Membre Dernière intervention 14 novembre 2006 - 9 nov. 2006 à 14:31
aymen2782 Messages postés 2 Date d'inscription mercredi 8 mars 2006 Statut Membre Dernière intervention 14 novembre 2006 - 14 nov. 2006 à 15:33
salut tous le monde je fait une recherche sur le temp d'execution de quelques algorithme et je voudrai savoir quel fonction utiliser pour avoir le temp d'execution en milliseconde j'ai essayer desune fonction de la bibliotheque time.h mais elle me donne le temp en seconde
merci

8 réponses

SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
9 nov. 2006 à 14:50
Quesque tu veux dire par temps d'execution? Tu veux calculer le temps que prend une fonction pour s'executer en millisecondes? Si oui,  tu peux utiliser la fonction GetTickCount:

DWORD start, end;

start = GetTickCount;
fonction();
end = GetTickCount-start;

printf("temps en millisecondes: %d\n", end);

C++ (@++)<!--
0
cs_magma Messages postés 198 Date d'inscription vendredi 4 avril 2003 Statut Membre Dernière intervention 18 mars 2011
9 nov. 2006 à 16:34
Tu peux aussi utiliser la fonction  ftime(...)
0
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
9 nov. 2006 à 17:14
Salut:

Pour des raisons de portabilité, on n'est pas sur qu'il veut ce code en Win32, donc il aut mieux le faire en C/C++ ANSI.

#include <time.h>

clock_t start =   clock ();
fonction();
clock_t duree = clock () - start;

double temps = (double) duree / CLOCKS_PER_SEC;
0
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
9 nov. 2006 à 17:24
Salut:

Si tu travailles avec Win32/MFC une autre fonction qui peut être utilisée de la même manière que GetTickCount () ou clock () est la fonction timeGetTime () pour l'utilisée ajoutes:
le fichier .h   : mmystem.h
le fichier .lib : winmm.lib
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
9 nov. 2006 à 18:37
magma -> je crois que c'est _ftime sous windows non?

O_D -> clock pour portabilité, ok. Cependant je ne crois pas que la division pour convertir en secondes soit utile. Il est rare qu'une fonction ai un temps d'execution supérieur à quelques dizaines de millisecondes sauf exeptions(calcule scientifique, traitement d'image etc. etc.).

C++ (@++)<!--
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
9 nov. 2006 à 18:46
Oups, ce n'est pas "convertir en secondes" que je voulais dire mais plus
"convertir en chiffres à virgules".

C++ (@++)<!--
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
9 nov. 2006 à 19:18
Sauf si le nombre de clock par secondes est différent sous Linux. Vaudrais peut-être mieux effectuer la division finalement ;)

Bon là, il faudrait savoir sous quel système il roule. Si il roule sous Windows, GetTickCount fera l'affaire sinon, clock serais une bonne alternative.

C++ (@++)<!--
0
aymen2782 Messages postés 2 Date d'inscription mercredi 8 mars 2006 Statut Membre Dernière intervention 14 novembre 2006
14 nov. 2006 à 15:33
Merci les gars je vais essayer vos suggestions desolé le retard mais j'avais quelques problémes de connexion
0
Rejoignez-nous