Po przeczytaniu this article o upływ czasu, napisałem prosty kod, aby obliczyć czas wykonania pętli:Jak korzystać z struct timeval, aby uzyskać czas wykonania?
#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;
}
Kompilator dzyń daje mi następujące błędy:
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.
nie mogę dowiedzieć się, co jest nie tak z moim kodem, jakiś pomysł?
Wyjąć że przecinek po 'struct timeval' – LSerni
Nie używaj gettimeofday mierzyć czas wykonania! Przeczytaj to: http://blog.habets.pp.se/2010/09/gettimeofday-should-never-be-used-to-measure-time i to: http://stackoverflow.com/questions/12392278/getrusage -vs-clock-gettime-vs-clock-vs-gettimeofday/12480485 # 12480485 –
@ DouglasB.Staple dzięki za powiadomienie mnie o tym numerze – mko