我需要知道如何以纳秒为单位计算 C 代码中函数的时间。
我试图重复该功能,直到消耗一些微秒。 time.h
中是否还有其他函数可用于计算以纳秒为单位的时间?
最佳答案
你永远不会获得纳秒精度。想想你在问什么:在 1 GHz CPU 上,1 纳秒是一个时钟周期。无论你试图调用什么,你永远不会得到那种准确度,你最好坚持微秒。一个有很多例子的类似问题在这里: C++ Cross-Platform High-Resolution Timer 。
仅适用于 c:在 Windows 上,您要使用 QueryPerformanceCounter 。这里有更多关于 QPC 的内容。 Here 是一个关于如何使用 QueryPerformanceCounter 的相关问题。