【发布时间】:2011-03-25 09:08:01
【问题描述】:
这个想法是现有项目非常频繁地使用 timeGetTime()(对于 Windows 目标)。
milliseconds = timeGetTime();
现在,这可以替换为
double tmp = (double) lpPerformanceCount.QuadPart/ lpFrequency.QuadPart;
milliseconds = rint(tmp * 1000);
lpPerformanceCount.QuadPart 和 lpFrequency.QuadPart 来自对 QueryPerformanceCounter() 和 QueryPerformanceFrequency() 的一次调用。
我知道 Windows 的内部结构有点像巫术,但有人可以破译这两者中的哪一个更准确或/并且有更多的开销吗?
我怀疑准确性可能相同,但 QueryPerformanceCounter 的开销可能会更少。但我没有确凿的数据来支持它。
如果情况正好相反,我当然不会感到惊讶。
如果开销很小,我会对准确性是否有任何差异更感兴趣。
【问题讨论】: