我正在研究在我们系统中使用QueryPerformanceCounter的确切影响,并试图了解它对应用程序的影响。我通过在我的4核单CPU机器上运行它可以看到,它需要大约230纳秒才能运行。当我在一个24核4 CPU的Xeon上运行它时,它需要大约1.4毫秒才能运行。更有趣的是,在我的机器上,当在多个线程中运行它们时,它们互不影响。但在多CPU机器上,线程会导致某种相互作用,使它们彼此阻塞。
我想知道是否有一些共享资源在总线上,它们都要查询?当我调用QueryPerformanceCounter时会发生什么,它实际上又测量了什么?
QueryPerformanceCounter
会使程序变得非常缓慢。使用GetTickCount
不会导致明显的减速,但它无法用于精确的分析。 - Calmarius