The C clock()
function just returns me a zero. I tried using different types, with no improvement... Is this a good way to measure time with good precision?
#include <time.h>
#include <stdio.h>
int main()
{
clock_t start, end;
double cpu_time_used;
char s[32];
start = clock();
printf("\nSleeping 3 seconds...\n\n");
sleep(3);
end = clock();
cpu_time_used = ((double)(end - start)) / ((double)CLOCKS_PER_SEC);
printf("start = %.20f\nend = %.20f\n", start, end);
printf("delta = %.20f\n", ((double) (end - start)));
printf("cpu_time_used = %.15f\n", cpu_time_used);
printf("CLOCKS_PER_SEC = %i\n\n", CLOCKS_PER_SEC);
return 0;
}
Sleeping 3 seconds... start = 0.00000000000000000000 end = 0.00000000000000000000 delta = 0.00000000000000000000 cpu_time_used = 0.000000000000000 CLOCKS_PER_SEC = 1000000
Platform: Intel 32 bit, RedHat Linux, gcc 3.4.6
clock()
reports CPU time used. sleep()
doesn't use any CPU time. So your result is probably exactly correct, just not what you want.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With