Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1048 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Calcul du temps d'execution en millisecondes

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Calcul du temps d'execution en millisecondes

n°1544068
Yakurena
Posté le 17-04-2007 à 22:59:53  profilanswer
 

Bonjour,
 
Je réalise un programme en C++ sous Linux dans lequel j'ai besoin de calculer le temps d'éxécution avec une précision en millisecondes. Je n'ai trouvé qu'une façon de faire, mais qui utilise des bibliothèques du fichier windows.h, inutilisables ici puisque le programme doit tourner sous Linux. Quelqu'un saurait-il s'il existe une autre manière en C++ de calculer le temps avec cette précision ?
Merci d'avance de votre réponse.

mood
Publicité
Posté le 17-04-2007 à 22:59:53  profilanswer
 

n°1544073
boulgakov
Posté le 17-04-2007 à 23:51:21  profilanswer
 

Yakurena a écrit :

Bonjour,
 
Je réalise un programme en C++ sous Linux dans lequel j'ai besoin de calculer le temps d'éxécution avec une précision en millisecondes. Je n'ai trouvé qu'une façon de faire, mais qui utilise des bibliothèques du fichier windows.h, inutilisables ici puisque le programme doit tourner sous Linux. Quelqu'un saurait-il s'il existe une autre manière en C++ de calculer le temps avec cette précision ?
Merci d'avance de votre réponse.


 
A priori je dirais http://www.boost.org/libs/timer/index.html ou clock(), utilisés par exemple  
 
ici :  http://forum.hardware.fr/hfr/Progr [...] m#t1543021
 
et là : http://forum.hardware.fr/hfr/Progr [...] m#t1543013
 
Edit : posts cités dans le mauvais ordre (enfin, ils sont contigus dans le même topic...)


Message édité par boulgakov le 17-04-2007 à 23:54:42
n°1544174
tbp
Posté le 18-04-2007 à 11:24:28  profilanswer
 

man gettimeofday

Code :
  1. #include <sys/time.h>
  2. os_stamp_t stamp;
  3. gettimeofday(&stamp, 0);


n°1544213
boulgakov
Posté le 18-04-2007 à 12:04:41  profilanswer
 

tbp a écrit :

man gettimeofday

Code :
  1. #include <sys/time.h>
  2. os_stamp_t stamp;
  3. gettimeofday(&stamp, 0);



 
Ah tiens, je m'étais planté dans mon utilisation de clock(), il ne faut pas oublier d'utiliser la macro CLOCKS_PER_SEC pour convertir les coups d'horloge en temps.  
 

Code :
  1. #include <ctime>
  2. ...
  3. temps_initial = clock ();
  4. . . .
  5.                  /* Partie du code à évaluer */
  6. . . .
  7. temps_final = clock ();
  8. temps_cpu = (temps_final - temps_initial) / CLOCKS_PER_SEC * 1000; // millisecondes


 
Au cas où cela t'intéresserait : cette solution est portable, au contraire de 'gettimeofday' je crois.
 
 
 
 
 
 

n°1544218
tbp
Posté le 18-04-2007 à 12:15:11  profilanswer
 

boulgakov a écrit :

Au cas où cela t'intéresserait : cette solution est portable, au contraire de 'gettimeofday' je crois.


gettimeofday est portable sur tout système POSIX; clock() n'a aucune garantie de résolution millimétrique, et surtout pas sous win32.

n°1544252
boulgakov
Posté le 18-04-2007 à 13:39:13  profilanswer
 

tbp a écrit :

gettimeofday est portable sur tout système POSIX; clock() n'a aucune garantie de résolution millimétrique, et surtout pas sous win32.


 
Par "portable" j'entendais "fourni avec la librairie standard C++". Pour la résolution, après quelques recherches Google j'ai bien l'impression que tu as raison, on est plutôt au niveau du 1/100 de seconde.  


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Calcul du temps d'execution en millisecondes

 

Sujets relatifs
Comment faire pour annuler l'exécution d'un trigger sous Mysql ?[javascript] Modifier un champs de texte en temps réel
Exécution d'un programme C sur serveur Free [RESOLU]Pb avec les VBO a l'execution
[resolu]calcul d'une somme avec plusieurs INPUTforcer l'execution d'un script js
VBA access execution de macro [résolu][MFC - C++] Probleme exécution instruction
Afficher une image pendant l'exécution d'un script 
Plus de sujets relatifs à : Calcul du temps d'execution en millisecondes


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR