C ++计数时间超过了clock_t的72分钟范围

时间:2010-06-28 15:43:43

标签: c++ count portability execution-time

我正在尝试计算部分应用程序的执行时间,但由于我需要获得毫秒数,而且我需要花费很长的执行时间。我目前正在使用来自ctime的clock_t = clock(),但我觉得它的范围只有72分钟,这不适合我的需要。有没有其他可移植方法来计算大的执行时间,保持毫秒精度?或者某种方式可以克服clock_t的这个限制?

2 个答案:

答案 0 :(得分:3)

你需要问的第一个问题是你 真的 需要超过一小时的毫秒精度。

如果你做了一个简单的方法(没有寻找已经存在它的库),只需跟踪计时器翻转并将其添加到另一个变量。

答案 1 :(得分:2)

不幸的是,我所知道的并不是跨平台的(但并不是说不存在任何东西)。

然而,解决这个问题很容易。只需创建一个单独的线程(例如:boost.thread),它会长时间休眠,将到目前为止的时差添加到总数中,然后重复。当程序关闭时,停止线程,它也可以在退出之前添加到此计数器。