我正在尝试测量一个函数需要多长时间。
我有一个小问题:虽然我试图做到精确并使用浮点数,但每次我使用打印代码时,%lf
我都会得到以下两个答案之一:1.000
......或0.000
......这让我想知道我的代码是否正确:
#define BILLION 1000000000L;
// Calculate time taken by a request
struct timespec requestStart, requestEnd;
clock_gettime(CLOCK_REALTIME, &requestStart);
function_call();
clock_gettime(CLOCK_REALTIME, &requestEnd);
// Calculate time it took
double accum = ( requestEnd.tv_sec - requestStart.tv_sec )
+ ( requestEnd.tv_nsec - requestStart.tv_nsec )
/ BILLION;
printf( "%lf\n", accum );
大部分代码都不是我制作的。此示例页面包含说明使用的代码clock_gettime
:
谁能让我知道什么是不正确的,或者为什么我只得到int
值?