有时候需要对程序某个部分进行计时
上代码:
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 这个全局变量里面。这个是为了方便我自己调试的使用,有其他的应用需求可以自己改进
本文介绍了一种使用C/C++对程序某部分进行精确计时的方法。通过调用`startTiming()`开始计时,并通过`endTiming()`结束计时,最终计时结果存储在全局变量`timecost_total`中。
1753

被折叠的 条评论
为什么被折叠?



