【发布时间】:2012-10-07 22:13:39
【问题描述】:
我需要以纳秒分辨率测量函数执行的持续时间。可能吗?我们普通的计算机硬件和软件能给出这样的时间精度吗?如果是,如何用 C++ 来实现? Boost库可以吗?
【问题讨论】:
-
你有什么电脑? CPU的速度是多少?
-
@Narek 从中您可以计算出您想要的精度是否可以达到。
-
如果内在函数在您的编译器上可用,并且您的硬件支持它(i5 应该),您可以使用 RDTSC。您会发现很多人将您从 RDTSC 中远离,因为适当地使用它可能是一个挑战,但是对于非常小的时间测量,您无法获得更准确的时间片表示。有关示例,请参见重复问题中的第二个答案。
-
每个人都来了,被认为是重复的,但现在我没有回答我的问题。我不知道如何使用旧 C++ 在 Windows 上的 NANOSECONDS 中对函数执行持续时间进行基准测试!
标签: c++ boost time benchmarking