@
Buges #7 自我纠正
> 其实 Linux 压缩文件系统也早就有了:Squashfs ,但这个文件系统并未在手机系统中流行起来,甚至低端设备也未采用。原因在于:
>
>> 我们为何不使用 SquashFS ?
>> 我们尝试过 SquashFS ,但无法实现高端设备所需的性能。我们不会为手持设备使用 SquashFS ,也不推荐这么做。
>> 更具体地说,使用 SquashFS 时,系统分区上节省了约 50% 的大小,但绝大多数压缩率较高的文件都是预编译的 .odex 文件。这些文件都具有非常高的压缩比(接近 80%),但系统分区其余部分的压缩比要低得多。另外,SquashFS 在 Android 7.0 中引发了以下性能问题:
>> 1. 与以往的设备相比,Pixel 具有非常快的闪存,但并没有大量的空闲 CPU 周期,因此虽然从闪存读取的字节数更少,但却需要更多的 CPU 来处理 I/O ,这是一个潜在的制约因素。
>> 2. 在没有任何负载的系统上,有些 I/O 变化在人为基准条件下不会出现任何问题,但在具有真实负载(如 Nexus 6 上的加密)的实际用例中有时则会出现问题。
>> 3. 在某些方面,基准化分析显示回归率达到 85%。
>> 随着 SquashFS 日趋成熟并且增加了旨在降低 CPU 影响的功能(例如,将不应压缩且经常访问的文件列入白名单),我们将继续对其进行评估并向设备制造商提供建议。
>> 链接:[常见问题解答 | Android 开源项目 | Android Open Source Project](
https://source.android.google.cn/devices/tech/ota/ab/ab_faqs)
> 如果压缩是以性能急剧下降为代价的,那其实还是得不偿失的,所以对于性能的测试就是关键点。
ref:
https://zhuanlan.zhihu.com/p/264923041