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

  FORUM HardWare.fr
  Programmation
  C

  temps d'exécution en millisecondes?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

temps d'exécution en millisecondes?

n°951588
MobbDeep
Posté le 12-01-2005 à 13:10:29  profilanswer
 

Bonjour, je voudrais savoir si c'est possible de mesurer le temps d'exécution d'une procédure ?
J'ai déja essayé quelque chose avec time.h mais ça ne marche qu'en secondes...

Code :
  1. main()
  2. {
  3.    char pause[10];
  4.    time_t debut,fin;
  5.    double dif;
  6.    int tab[50000];
  7.    printf("TRI CASIER : \n\n" );
  8.    remplir_tab(tab,50000);
  9.    time(&debut);
  10.    tri_casier(tab,50000);
  11.    time(&fin);
  12.    dif=difftime(fin,debut);
  13.    printf("\ntableau apres classement : \n" );
  14. // affichage du résultat
  15.    afficher_tab(tab,50000);
  16.    printf ("%.2lf secondes pour trier...\n", dif );
  17.    fflush(stdin);
  18.    gets(pause);
  19. }

mood
Publicité
Posté le 12-01-2005 à 13:10:29  profilanswer
 

n°951605
cricri_
Posté le 12-01-2005 à 13:32:02  profilanswer
 

Sous quel OS ?
y a timeGetTime sous windows par example, ça retourne des millisecondes.

Code :
  1. fflush(stdin);


Houllà !!!  :whistle:  vire ça avant que d'autres ne voient ça  entre autre ...  :pt1cable:  

n°951613
++fab
victime du syndrome IH
Posté le 12-01-2005 à 13:41:36  profilanswer
 

Code :
  1. clock_t t = clock();
  2. // erreur si t vaut clock_t(-1)


et tu fais la différence entre deux clock_t. Il y a la macro CLOCK_PER_SEC pour aider à convertir en seconde.
 
fflush(stdin); :o  
gets(pause); c'est une invitation gratuite au dépassement de tampon ?  :pt1cable:

n°951615
spokup
Posté le 12-01-2005 à 13:45:31  profilanswer
 

oui timeGetTime() sous windows eest ne millisecondes  
librairie winmm.lib
include mmsystem.h

n°951900
MobbDeep
Posté le 12-01-2005 à 19:38:30  profilanswer
 

j'ai pas réussi avec timeGetTime...
En utilisant QueryPerformanceCounter, le résultat est-il correct?

Code :
  1. main()
  2. {
  3.    int tab[50000];
  4.    LARGE_INTEGER debut,fin,freq;
  5.    double tempsexec;
  6.    remplir_tab(tab,50000);
  7.    QueryPerformanceFrequency(&freq);
  8.    QueryPerformanceCounter(&debut);
  9.    tri_casier(tab,50000);
  10.    QueryPerformanceCounter(&fin);
  11.    tempsexec=(double)(fin.QuadPart - debut.QuadPart)/(double)freq.QuadPart;
  12. // affichage du résultat
  13.    printf("\n\nTemps d'execution : %5.3lf ms\n", tempsexec*1000);
  14.    getch();
  15. }


 
getch() c'est mieux ou c'est  :non: ?


Message édité par MobbDeep le 12-01-2005 à 19:43:48
n°951974
Emmanuel D​elahaye
C is a sharp tool
Posté le 12-01-2005 à 20:53:56  profilanswer
 

MobbDeep a écrit :

getch() c'est mieux ou c'est  :non: ?


C'est pas portable. Qu'est-ce qui ne va pas avec getchar() ?


Message édité par Emmanuel Delahaye le 12-01-2005 à 20:54:08

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°951983
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 12-01-2005 à 21:09:48  profilanswer
 

MobbDeep a écrit :


   (...)
   fflush(stdin);
   gets(pause);
}


double combo \o/
 
1 - fflush(stdin) n'existe pas, est faux, a un comportement indéfini, bref ne sert à rien ! on ne vide que les buffers de sortie, jamais ceux d'entrée !
 
2 - gets() est à proscrire pour la simple raison qu'il n'effectue aucun controle sur la taille du buffer passé en argument. donc si tu dépasses cette taille en entrée, c'est overflow, segfault et DTC


Message édité par Harkonnen le 12-01-2005 à 21:10:37

---------------
J'ai un string dans l'array (Paris Hilton)
n°951993
HelloWorld
Salut tout le monde!
Posté le 12-01-2005 à 21:36:03  profilanswer
 

Pour la question initale, ce sujet a été traité moulte fois => recherche.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite

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

  temps d'exécution en millisecondes?

 

Sujets relatifs
[HTML][PHP][CSS] possible de remplir 2 div en même temps ?methodes virtuels et temps reel
[VBA] execution d'une macro sur un autre pcUne erreur d'exécution en ASP?? non??? incroyable !!
Augmenter vitesse d'exécutionCherche un Flash Gurru, Segafan, Et qui a du temps, lol.
Instant d'exécution d'une requêteAbaisser la résolution du temps (<1ms)
Exécution de plusieurs installations séquentiellementExecution C#
Plus de sujets relatifs à : temps d'exécution en millisecondes?


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