Windows C ++纳秒时序?

有没有在Windows上的C + +的方式来测量纳秒时间?

我只能findLinux解决scheme。

使用QueryPerformanceFrequency函数查看QueryPerformanceCounter运行的速度。 我认为它可能在纳秒范围内。

在Windows上查看QueryPerformanceCounter。

在定时代码以识别性能瓶颈时,您希望使用系统提供的最高分辨率计时器。 本文介绍如何使用QueryPerformanceCounter函数来定时应用程序代码

http://support.microsoft.com/kb/172338

如果您可以运行自己的程序集,则可以读取CPU的循环计数器,并将循环差异除以CPU的时钟速率:

 static inline uint64_t get_cycles() { uint64_t t; __asm__ __volatile__ ("rdtsc" : "=A"(t)); return t; } 

使用Windows7和硬件计数器分析API http://msdn.microsoft.com/en-us/library/windows/desktop/dd796395(v=vs.85).aspx

因为大的开销,中断和任务切换,rdtsc和QueryPerformanceCounter / QueryPerformanceFrequency都不够准确。

[编辑]:对不起混合起来硬件计数器PerformanceCounter的链接。 对不起,只用过一次,这是一个快速的答案。