我对准确计算c ++应用程序的时间感兴趣。对于“时间”似乎有多种定义,但是为了这个问题...我感兴趣的是我在现实世界中指望我的时间......如果这有任何意义!无论如何,在我的应用程序中,我的开始时间是这样完成的:
clock_t start = clock();
.
.
. // some statements
.
.
clock_t end = clock();
.
.
double duration = end - start;
.
.
cout << CLOCKS_PER_SEC << endl;
开始等于184000 结束等于188000 CLOCKS_PER_SEC 等于1000000
这是否意味着持续时间(以秒为单位)等于4000/1000000?如果是这样,这意味着持续时间是.004秒?有更准确的方法来衡量这个吗?
谢谢
答案 0 :(得分:1)
尝试这个以纳秒精度查找时间
struct timespec start, end;
clock_gettime(CLOCK_REALTIME,&start);
/* Do something */
clock_gettime(CLOCK_REALTIME,&end);
它返回一个值((((unsigned64)start.tv_sec) * ((unsigned64)(1000000000L))) + ((unsigned64)(start.tv_nsec))))
如果您觉得有用,请参考this链接..