0

典型的な CPU バウンド アプリケーションの実行中の Android でのカーネル CPU 時間と UserMode CPU 時間の典型的な分割は?

一般的なアプリを実行し、ユーザーまたはネットワークからの io を待機していない、典型的なデュアル コア ARM Android フォン

システムライブラリのユーザーモード部分とアプリの実際のコード内で費やされた時間の間のCPU時間分割に関するデータがある場合、さらに役立ちます

(これは非常に主観的な質問であり、jvm/jit やその他の関数によって複雑になっていることは承知していますが、ポインタ (ha!;) があれば役に立ちます。)

4

1 に答える 1

2

まあ、それは本当にアプリケーションに依存します。readI/O バウンドのアプリケーションでは、や などのシステムコールに時間が費やされwriteます。コンピューティング バウンドのアプリケーションでは、CPU 時間はほとんどすべてのユーザーランドになります。RAM バウンド (RAM 内のデータの多くの操作を行う) のアプリケーションでは、CPU はほとんどの時間を RAM の待機に費やします (ARM プロセッサに非常に大きなキャッシュがあるとは思いません)。

一方、アプリが多くの UI 処理を行う場合、すべてのグラフィックス処理はユーザーランドで行われますが、フレーム バッファーと入力デバイスを待機している I/O バウンド操作は依然として多くあります。

于 2012-10-27T02:15:47.677 に答える