Dopo aver letto this article circa il tempo trascorso, ho scritto un semplice codice per calcolare il tempo di esecuzione di un ciclo:Come utilizzare struct timeval per ottenere il tempo di esecuzione?
#include <stdio.h>
#include <sys/time.h>
int main (int argc, char** argv) {
struct timeval, tvalBefore, tvalAfter;
gettimeofday (&tvalBefore, NULL);
int i =0;
while (i < 1000) {
i ++;
}
gettimeofday (&tvalAfter, NULL);
printf("Time in microseconds: %0.3f microseconds\n",
(float)(tvalAfter.tv_sec - tvalBefore.tv_sec)
)
return 0;
}
Il compilatore clang mi dà i seguenti errori:
print_time.c:7:16: error: expected identifier or '('
struct timeval, *tvalBefore, *tvalAfter;
^
print_time.c:13:17: error: use of undeclared identifier 'tvalBefore'
gettimeofday (&tvalBefore, NULL);
^
print_time.c:19:17: error: use of undeclared identifier 'tvalAfter'
gettimeofday (&tvalAfter, NULL);
^
print_time.c:22:12: error: use of undeclared identifier 'tvalAfter'
(float)(tvalAfter.tv_sec - tvalBefore.tv_sec)
^
print_time.c:22:31: error: use of undeclared identifier 'tvalBefore'
(float)(tvalAfter.tv_sec - tvalBefore.tv_sec)
^
5 errors generated.
non posso capire cosa c'è di sbagliato nel mio codice, qualche idea?
Estrarre la virgola dopo la 'struct timeval' – LSerni
Non utilizzare gettimeofday per misurare il tempo di esecuzione! Leggi questo: http://blog.habets.pp.se/2010/09/gettimeofday-should-never-be-used-to-measure-time e questo: http://stackoverflow.com/questions/12392278/getrusage -vs-clock-gettime-vs-clock-vs-gettimeofday/12480485 # 12480485 –
@ DouglasB.Staple grazie per avermi fatto conoscere questo numero – mko