windows上的高精度时钟误差在1us之内,这时一个令人震惊的数字,绝对对得起自己名字中的"高精度"三个字:
使用方法如下:
- QueryPerformanceFrequency获取每秒的计数次数
- QueryPerformanceCounter获得事件前的计数和当前的计数
- (当前的计数 - 事件前的计数) / 每秒的计数次数即为消耗的时间
LARGE_INTEGER freq;
LARGE_INTEGER begin;
LARGE_INTEGER end;
QueryPerformanceFrequency(&freq);
QueryPerformanceCounter(&begin);
//do some thing
QueryPerformanceCounter(&end);
double cost = (end.QuadPart - begin.QuadPart);
cost = (cost * 1000000 / freq.QuadPart);