【发布时间】:2014-03-05 01:25:43
【问题描述】:
我对准确计时 C++ 应用程序很感兴趣。 “时间”似乎有多种定义,但为了这个问题......我对我在现实世界中依靠手表的时间感兴趣......如果这有任何意义!无论如何,在我的应用程序中,我的开始时间是这样完成的:
clock_t start = clock();
.
.
. // some statements
.
.
clock_t end = clock();
.
.
double duration = end - start;
.
.
cout << CLOCKS_PER_SEC << endl;
开始等于184000 end 等于 188000 CLOCKS_PER_SEC 等于 1000000
这是否意味着持续时间(以秒为单位)等于 4000/1000000 ?如果是这样,这是否意味着持续时间是 0.004 秒?有没有更准确的测量方法?
谢谢
【问题讨论】:
-
我认为您正在寻找 [c++ 中的毫秒数][1] [1]:stackoverflow.com/questions/15235218/c-timer-milliseconds
-
嗨 garakchy。我如何在这里捕获毫秒?
-
毫秒是否真的等于 = diffticks / ( CLOCKS_PER_SEC / 1000 ); ?
-
啊是的..如果我的数学运算正确...时钟 x(1000 毫秒/每秒时钟数)等于毫秒
-
提高准确性的一个小方法是在调用
clock()时,代码someplace 在0.0 到1.0 个时钟周期内。通过执行clock_t start,t; t = clock(); while ((start = clock()) == t);将减少开始时间的变化。不过,end电话没有太多帮助。