0

在执行典型的 cpu-bound 应用程序时,Android 上的内核 CPU 时间和 UserMode CPU 时间之间的典型划分是什么?

典型的双核 ARM 安卓手机,在执行普通应用时,不等待用户或网络的 io

更有帮助的是,如果系统库的用户模式部分和在应用程序实际代码中花费的时间之间的 cpu 时间分配有任何数据

(我意识到这是一个非常主观的问题,由于 jvm/jit 和其他功能而变得复杂,但任何指针(哈!;)都会有所帮助。)

4

1 回答 1

2

嗯,这真的取决于应用程序。在 I/O 绑定的应用程序中,时间将花在系统调用上,例如readand write。在计算受限的应用程序中,CPU 时间几乎是所有用户空间。在一个受 RAM 限制的应用程序中(对 RAM 中的数据进行大量操作),由于缓存未命中,CPU 将花费大部分时间等待 RAM(我认为 ARM 处理器没有非常大的缓存)。

另一方面,如果你的应用程序做了很多 UI 工作,而所有的图形处理都是在用户空间中完成的,那么仍然有很多 I/O 绑定操作等待帧缓冲区和输入设备。

于 2012-10-27T02:15:47.677 回答