【发布时间】:2017-02-27 13:04:02
【问题描述】:
我在 Ubuntu 上运行我的代码,我需要获取我的程序中某个函数的经过时间。我需要一个非常准确的时间,比如纳秒或至少微秒。
我读过chrono.h,但它使用系统时间,我更喜欢使用 CPU 时间。
有没有办法做到这一点,并具有这种粒度(纳秒)?
【问题讨论】:
-
stackoverflow.com/a/13666742/1870760 "如果你想要 CPU 时间,但也想要
提供的好处,你应该实现一个符合标准中概述的时钟概念的时钟类型,它提供CPU 时间,可能在内部使用 std::clock() 实现。 " -
这里还有一些内容:stackoverflow.com/questions/275004/…
-
@GillBates
std::clock的问题在于,虽然它在标准中,但它在主要平台中的工作方式并不相同(Windows 基于挂钟的结果)。在 POSIX 系统上,还有更高分辨率的系统特定时钟。 -
@JoachimPileborg 确实,但他们都没有像 OP 要求的那样承诺 CPU 时钟时间。
标签: c++ time elapsedtime