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

  FORUM HardWare.fr
  Programmation

  [C] Temps d'exécution

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C] Temps d'exécution

n°87927
[ ZeD ]
Désigné volontaire
Posté le 10-01-2002 à 17:42:58  profilanswer
 

Hello !
 
Voilà, g commencé un programme qui teste différentes méthodes de tri :
 
---------
void TriInsert(int* tab)
{
 int i, j, tmp;
 
 for (i=0; i<N; i++)
 {
  tmp = tab[ i];
  j = i;
  while ((j>0) && (tab[j-1]>tmp))
  {
   tab[j] = tab[j-1];
   j--;
  }
 
  tab[j] = tmp;
 }
}
 
int main()
{
 int tab[N];
 struct _timeb start, end;
 int sec, ms;
 
 printf("Tri par insertion :\n\n" );
 init(tab); affiche(tab);
 
 _ftime(&start);
 TriInsert(tab);
 _ftime(&end);
 
 affiche(tab);
 
 sec = end.time - start.time;
 ms = end.millitm - start.millitm;
 printf ("Temps ecoule : %d.%d secondes\n--\n", sec, ms);
 return 0;
}
-------
 
Or, lorsque je fais un test sur un tableau de 20 entiers, il m'affiche à chaque fois : Temps ecoule : 0.0 secondes
 
Donc voilà ma question : l'exécution est-elle si rapide que ça ?
Et si oui, n'y a-t-il pas un moyen d'avoir une plus grande précision ?
 
Merci d'avance !  :)


---------------
The N·Zone New Formation Official Website
mood
Publicité
Posté le 10-01-2002 à 17:42:58  profilanswer
 

n°87929
Ventilo
Ventilo? Depuis 1998!
Posté le 10-01-2002 à 17:45:56  profilanswer
 

#inlcude <windows.h>
 
int debut,calcule;
 
debut = GetTicksCount();
 
/* ... */
 
calcule = GetTicksCount() - debut;
printf("Le programe s'est execute en %d millisecondes\r\n",calcule);

n°87951
[ ZeD ]
Désigné volontaire
Posté le 10-01-2002 à 18:01:34  profilanswer
 

marche pô, il me met toujours 0 millisecondes  :??:


---------------
The N·Zone New Formation Official Website
n°87960
LeGreg
Posté le 10-01-2002 à 18:15:51  profilanswer
 

ne trie pas 20(!) entiers  
tu n'es plus sur amstrad CPC.
 
pour info 1Ghz = 1 milliards de cycles d'horloge par seconde
 
de plus t'auras surement des difficultes
avec la precision de time ou gettickcount
sous certaines plateformes
gettickcount est limite a une granularite
de 15 ms, il vaut mieux utiliser
les multimedia timers ou performance timers
pour des mesures tres fines.
 
A+
LEGREG

n°87979
[ ZeD ]
Désigné volontaire
Posté le 10-01-2002 à 18:37:03  profilanswer
 

hum... effectivement ça marche mieux avec 5000 entiers  ;)
 
merci bien !  :hello:

 

[edtdd]--Message édité par [ ZeD ]--[/edtdd]


---------------
The N·Zone New Formation Official Website

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

  [C] Temps d'exécution

 

Sujets relatifs
[DELPHI] récupérer la liste des programmes en cours d'execution[java] lancer l'execution d'un programme
[Win] Pourquoi ça plante tout le temps ce truc?Exécution de .bat sous Windows 95
[PHP] c koi le code pour donner le temps pour generer une page??Temps d'attentes en Language C
Utilitaire pour suivre les forums en temps réelCalcul de temps de traitement en C
[PHP FREE ] Fatal error: Maximum execution time exceededprogrammation graphique 2D : affichage d'un graphe en temps réel
Plus de sujets relatifs à : [C] Temps d'exécution


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