我希望准确地计时C++应用程序。似乎有多个“时间”的定义,但就这个问题而言…… 我感兴趣的是我在现实世界中看到的手表时间……如果这有任何意义的话!无论如何,在我的应用程序中,我的起始时间是这样完成的:
clock_t start = clock();
.
.
. // some statements
.
.
clock_t end = clock();
.
.
double duration = end - start;
.
.
cout << CLOCKS_PER_SEC << endl;
start等于184000 end等于188000 CLOCKS_PER_SEC等于1000000
这是否意味着持续时间(秒)等于4000/1000000?如果是的话,这意味着持续时间为.004秒?有更准确的测量方法吗?
谢谢
clock()
时,代码位于0.0到1.0个时钟节拍之间。通过执行clock_t start, t; t = clock(); while ((start = clock()) == t);
将减少开始时间的变化。对于end
调用帮助不大。 - chux - Reinstate Monica(CLOCKS_PER_SEC / 1000)
不好。举例说明,如果CLOCKS_PER_SEC
是 999,那么(CLOCKS_PER_SEC / 1000)
将会是 0。更好的做法是(diffticks * 1000 + CLOCKS_PER_SEC/2)/ CLOCKS_PER_SEC
,但要注意溢出的问题。 - chux - Reinstate Monica