Durée d'execution en millisecondes

Durée d'execution en millisecondes - C - Programmation

Marsh Posté le 14-04-2004 à 14:19:14    

Voila , j ai un ptit soucis ,  
Je cherche à afficher la durée d execution d'un prog mais en "ms" .  
Je n'y arrive pas , j arrive juste à afficher la durée d execution en "s" .Pouvez-vous me donner un ptit coup de main svp ????
Merci .  
 
Voila le ptit bout de code qui me donne la durée en secondes :  
 

Code :
  1. #include <stdio.h>
  2. #include <time.h>
  3. #include <stdlib.h>
  4. main()
  5. {
  6. time_t start, finish, now;
  7. struct tm *ptr;
  8. double duration;
  9. // heure de debut de l execution
  10. start=time(0);
  11. ======= Le reste du prog. =======
  12. // on prends l heure courrante pour avr la durée d execution du soft
  13. finish=time(0);
  14. duration = difftime(finish,start);
  15. printf("durée d execution du prog = %f secondes",duration);
  16. return(0);
  17. }


 
 :??:  :??:  
Voila , alors please helpppp me

Reply

Marsh Posté le 14-04-2004 à 14:19:14   

Reply

Marsh Posté le 14-04-2004 à 14:40:00    

En win32 il y a GetTickCount()
Je ne connais pas l'équivalent Linux désolé

Reply

Marsh Posté le 14-04-2004 à 14:42:05    

arf moi je recherche une solution Linux , mais merci quand meme

Reply

Marsh Posté le 14-04-2004 à 14:45:23    

man ftime

Reply

Marsh Posté le 14-04-2004 à 14:45:51    

regarde du coté de gettimeofday()

Reply

Marsh Posté le 14-04-2004 à 14:50:40    

c'est normal, le C ANSI ne fournit pas de mesure de temps de granularité inférieur à la seconde

Reply

Marsh Posté le 14-04-2004 à 15:01:41    

c bon je pense avoir trouvé une solution :  
 
#include <sys/time.h>
#include <unistd.h>
#include <stdio.h>
 
int
main() {
  struct timeval tv1,tv2;
  struct timezone tz;
  long long diff;
  int i;
  gettimeofday(&tv1, &tz);
   printf("KiKoooooooooooo\n" );
// code à timer    
  gettimeofday(&tv2, &tz);
  diff=(tv2.tv_sec-tv1.tv_sec) * 1000000L + \
           (tv2.tv_usec-tv1.tv_usec);  
  printf("durée=%d usec\n",diff);
}
 
 
 
Sa à l'air de marcher !

Reply

Marsh Posté le 14-04-2004 à 18:59:00    

utilise clock(), c'est standard (time.h)

Reply

Marsh Posté le 14-04-2004 à 20:37:25    

skelter a écrit :

utilise clock(), c'est standard (time.h)

certes mais le raisonnement n'est pas bon. c'est standard, donc dans un des entêtes standards ici time.h. la réciproque n'est pas vrai

Reply

Marsh Posté le 14-04-2004 à 21:05:14    

donc ce qui est dans un entet standard ne l'est pas forcement, j'imagine mais quoi par exemple ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed