为什么valgrinds时间与应用程序报告的时间不匹配?

时间:2013-12-28 17:15:46

标签: c++ qt valgrind

我的应用程序输出时间和valgrinds是不一致的。

QTime myTimer;
myTimer.start();

Content *items = Content_getContent(path);
int get_content = myTimer.elapsed();
this->content->setContent(items);

int total = myTimer.elapsed();
printf("ListPane::setPath(getContent) -- %d ms\n", get_content);
printf("ListPane::setPath(setContent) -- %d ms\n", total-get_content);
printf("ListPane::setPath(Total)      -- %d ms\n", total);
fflush(0);

产生输出:

ListPane::setPath(getContent) -- 54004 ms
ListPane::setPath(setContent) -- 132963 ms
ListPane::setPath(Total)      -- 186967 ms

Valgrind报告说:

Content_getContent            : 64.24%
ContentListWidget::setContent : 35.65%

根据经验,我倾向于同意程序输出(基于UI的响应方式)。这引出了一个问题,然而,为什么valgrind会报告不正确的时间?

0 个答案:

没有答案