测量异形功能的时间

时间:2011-01-01 16:36:22

标签: c++ profiling timing


我试图在另一种方法中分析一个函数,所以为了测量它的时间,我正在做这样的事情:

double diffTime = GetCurrentTime() - m_lastTime;
SuspendOtherProcessThreads();
double runningTime += diffTime;

... Do profiling stuff ... 

ResumeOtherProcessThreads();
m_lastTime = GetCurrentTime();  

... Let profiled process run ....

这是我对每个样本做的,我认为我采样的时间是“runningTime”。 但由于某种原因,我得到的“runningTime”远小于实际运行时间 这段代码每秒运行数万次。

有人知道它有什么问题吗? 它是否与暂停/恢复事件有关? 谢谢:))

1 个答案:

答案 0 :(得分:0)

如果您的流程被其他流程阻止,您的时间安排将会出错。

为什么不使用工具(例如cachegrind进行个人资料?