所以我尝试使用gettimeofday来查找执行代码所用的时间。但是当我将它输出到stdout时,我会得到这个非常大的数字。执行只需不到一秒钟,但输出显示的时间要长得多。
struct timeval start, end;
gettimeofday(&start, NULL);
//code
gettimeofday(&end, NULL);
printf("Elapsed Time = %ld\n", (end.tv_sec - start.tv_sec) + ((end.tv_usec - start.tv_usec)/1000000.0);
代码在不到一秒的时间内执行,但我的输出是 - > 140734185085712
答案 0 :(得分:1)
带有%ld的Printf期望整数而不是浮点数。尝试%f或类似而不是%ld。此外,您可能希望在微秒部分检查(并处理)环绕。