在traceview中,Incl CPU Time,Excl CPU Time,Incl Real CPU Time,Excl Real CPU Time是什么意思?

时间:2013-04-02 09:21:41

标签: android cpu-usage android-traceview

1)独占时间是在方法中花费的时间 2)包含时间是在方法中花费的时间加上在任何被调用函数中花费的时间 3)我们将调用方法称为“父母”,并将方法称为“子”。 参考链接:Click here

这里的问题是:

之间有什么区别
  • 包含CPU时间&包含实际CPU时间?
  • Excl CPU Time& Excl Real CPU Time?

在我的一个示例跟踪文件中 for Method1():包含CPU时间= 242毫秒&实际CPU时间= 5012毫秒

  • 我无法确定两次以上5012-242 = 4770毫秒差距背后的原因。

如果您有任何想法,请帮帮我。

3 个答案:

答案 0 :(得分:37)

Here's the DDMS documentation

包含CPU时间是包含的cpu时间。它是函数本身花费的时间之和,以及 它调用的所有函数的时间总和。

Excl CPU时间是独占的cpu时间。这只是在函数本身中花费的时间。你会发现它总是与“自我”孩子的“包含时间”相同。

文档没有说明 CPU时间实时之间的区别,但我同意Neetesh的观点,即CPU时间是该功能实际运行的时间(这不包括等待IO),实时是挂钟时间(包括做IO的时间)。

答案 1 :(得分:10)

cpu time是进程使用cpu和cpu的时间实时是从进程开始到进程结束的总时间,它包括进程执行的等待时间。

答案 2 :(得分:0)

从.trace的源代码中,您可以看到与实际cpu时间不同的cpu时间详细信息,与android doc的描述相同:  CPU时间仅考虑线程活跃使用CPU的时间,并且实时提供从应用程序进入方法到退出该方法的绝对时间信息,而不管线程是处于活动状态还是处于休眠状态。