[C] Temps d'exécution

Temps d'exécution [C] - Programmation

Marsh Posté le 10-01-2002 à 17:42:58    

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
Reply

Marsh Posté le 10-01-2002 à 17:42:58   

Reply

Marsh Posté le 10-01-2002 à 17:45:56    

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

Reply

Marsh Posté le 10-01-2002 à 18:01:34    

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


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

Marsh Posté le 10-01-2002 à 18:15:51    

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

Reply

Marsh Posté le 10-01-2002 à 18:37:03    

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

 

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


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

Sujets relatifs:

Leave a Replay

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