Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
Pb avec clock() en C
Envoyé par: Sil

#include <time.h>
#include <stdio.h>

int main () {
float i = 0;
clock_t endclock, startclock;
startclock = clock();
while (i<10000000)
{
i++;
}
endclock = clock ();
printf ("startclock = %9.2f\n", (float) startclock);
printf ("endclock = %9.2f\n", (float) endclock);
}

Tout va bien avec ce code. Mais si je met un getchar() à la place (ou en plus) de la boucle i<10000000, les valeurs de endclock et de startclock restent à 0. Comment ça se fait? Quel est le rapport entre la fonction clock() et la fonction getchar()? Est-ce que le fait d'appeler getchar() interrompt la fonction clock()?

Poste le Tuesday 17 February 2004 10:27:54
Répondre     Citer    
Re: Pb avec clock() en C
Envoyé par: LF

Si tu le mets à la place du while c'est normal. Si tu le met en plus du while ce ne changera pas les valeurs obtenues.
La fonction clock() te renvoi une approximation le temps processeur utilisé par le programme (man 3 clock), or quand tu fais un getchar() le processus est mis en attente donc ce temps d'attente n'est pas compté par clock().

Poste le Tuesday 17 February 2004 15:29:27
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
Pb avec clock() en C
Pour poser vos questions sur les scripts shell, le Perl, le C, etc... Attention : nous ne sommes pas des spécialistes du dev, ce forum est juste pour de petites aides ponctuelles concernant le développement et les outils de développement.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons