有时候需要对程序某个部分进行计时
上代码:
double timecost_total = 0;
LARGE_INTEGER m_nFreq;
LARGE_INTEGER m_nBeginTime;
LARGE_INTEGER nEndTime;
inline void startTiming() {
QueryPerformanceFrequency(&m_nFreq); // 获取时钟周期
QueryPerformanceCounter(&m_nBeginTime); // 获取时钟计数
}
inline void endTiming() {
QueryPerformanceCounter(&nEndTime);
timecost_total += (nEndTime.QuadPart - m_nBeginTime.QuadPart) * 1000 / m_nFreq.QuadPart ;
}
使用的时候直接调用这两个函数就可以了
最后的计时数据会存在timecost_total 这个全局变量里面。这个是为了方便我自己调试的使用,有其他的应用需求可以自己改进