Ceci est le code et je veux mesurer. J'aimerais beaucoup de l'aide, je suis nouveau au codage. Je veux voir la différence de temps d'exécution entre les deux fonctions qui peuvent être sélectionnées au hasard.Je veux être capable de mesurer le temps d'exécution de ces 2 fonctions mais ne peux pas envelopper ma tête autour de lui
#include <stdio.h>
#include <stdlib.h>
#include <sys/time.h>
int complex_func (int in)
{
int tmp1 ,i;
float tmp2 , tmp3 ;
for (i =0; i < 4112; i ++)
{
tmp1 = in*in*i;
tmp2 = (in+i)*(in+i)*(in+i);
tmp3 = tmp2/tmp1 ;
}
return tmp3 ;
}
int simple_func (int in)
{
int i,j=in;
for (i =0; i < 921; i ++) j = j+i;
return j;
}
main (int argc , char ** argv)
{
int i,j;
time_t sec;
for (i = 0; i < 350000; i ++)
if ((j = rand()) >0x3fffffff)
complex_func (j);
else simple_func (j);
}
Merci d'avance!
Check 'RAND_MAX' – BLUEPIXY
vous voulez le temps d'exécution pour chaque boucle de 350000? Si c'est le cas, c'est beaucoup de rendement. Vous devez spécifier exactement ce que vous voulez mesurer. Et vous avez également des valeurs de retour de fonctions que vous ne capturez pas dans main(). –
Étant donné que 'complex_func()' présente toujours un comportement indéfini, la performance n'a pas d'importance. – EOF