web-dev-qa-db-ja.com

traceviewでのCPU時間を含む、CPU時間を除く、実際のCPU時間を含む、実際のCPU時間を除くの意味は何ですか?

1)排他時間はメソッドで費やされた時間です2)包括時間はメソッドで費やされた時間と呼び出された関数で費やされた時間です3)メソッドの呼び出しを「親」と呼び、メソッドの呼び出しを「子」と呼びます。参照リンク: ここをクリック

ここでの質問は:

違いは何ですか

  • CPU時間を含む&実際のCPU時間を含む?
  • CPU時間を除く&実際のCPU時間を除く?

method1()のトレースファイルの例:CPU時間を含む= 242ミリ秒&実際のCPU時間を含む= 5012ミリ秒

  • 上記の両方の時間で5012-242 = 4770ミリ秒のギャップの背後にある理由を特定できません。

何かアイデアがあれば助けてください。

31
VISHAL VIRADIA

cpu時間は、プロセスがcpuを使用する時間であり、cpuリアルタイムは、プロセスの開始からプロセスの終了までの合計時間であり、プロセスの実行待機時間を含みます。

10
Neetesh Singh

これがDDMSのドキュメントです

CPU時間を含むはCPU時間を含みます。これは、関数自体に費やされた時間の合計です。およびそれが呼び出すすべての関数の時間の合計です。

CPU時間を除くは排他的なCPU時間です。費やした時間だけです関数自体で。あなたはそれが常に「自己」の子の「時間を含む」と同じであることに気付くでしょう。

ドキュメントでは、CPU時間リアルタイムの違いは明確にされていません。 、しかし、CPU時間は関数が実際に実行されている時間(これにはIOの待機は含まれません)であり、リアルタイムは実時間(IOの実行に費やされた時間を含む)であるというNeeteshに同意します。

37
David

.traceのソースコードから、実際のCPU時間とは異なるCPU時間の詳細を確認できます。これは、Android doc:CPU時間は、スレッドはCPU時間を積極的に使用しており、リアルタイムは、スレッドがアクティブであるかスリープ状態であるかに関係なく、アプリがメソッドに入った瞬間からそのメソッドを終了するまでの絶対的なタイミング情報を提供します。

0
cloud tring