[心得] NVMe和UFS速度谁快? 浅谈ios的内存机制

楼主: ja9740807 (finallydream)   2018-10-27 22:06:20
关于NVMe和UFS谁快
这点我们先放到后面再来谈
我们先来了解 为何iphone 只需要4G的RAM就可流畅
我认为情况是这样的
Android的RAM运作机制基本上就是给予程式多工占用
而ios的情况则是
RAM主要是拿来加速快取用的
并不是拿来大量背景多工
当初的设计可能就是认为移动端的设备不适合大量的使用后台程序
对于耗电来说是一大负担 发热也是
APP透过预先加载到快取的方式 来大幅度的增加读写速度

对于iphone 6曾经混用TLC和MLC的情况可以发现到
安装超过700个APP就会容易发生问题

左图为(TLC版本的iphone 6 64G) 右图为(MLC版本的iphone 6 64G)
TLC版本的占用RAM更多
原因应该是为了TLC要和MLC版本持平速度
所以才造成的情况 需要占用更大量的快取来尽可能达到相同速度
(所以P10说的UFS和eMMC如果真的透过内存快取貌似有可能达成两个版本相同体验)

这情况在01也有人提出 并非是iphone 6 plus独有的问题
到这里可以看的出 为何iphone 6s很佛心的给到2G的内存
可以从MLC和TLC比较那张判断出1G给程式快取实在是不够用

从iphone 7上也可以发现到
32G版本速度明显慢了128G一大截
(上图为在实测复制 5 分钟的 4K 分辨率影片(约3.3G)的情况下)
在日常使用的情况下相比大容量的并不明显
我认为这就是内存快取带来的功劳
于是目前可以得知的是 iphone的快
貌似不完全单单只是NVMe带来的成果
很大部分都是透过占用内存来快取达成的
说了这么多 上面主要就是要证明
苹果的内存机制主要是拿来快取使用的
后台的程式可以快速压缩冻结直接丢在内存
要的时候再把他唤醒出来解压就没有问题了
再来就是NVMe并不是iphone能快的主要原因
https://goo.gl/WfHzRA
毕竟在01实际的测试下 NVMe和SATA都没这么明显的速度差异
更别说差异不大的NVMe和UFS的4K iops表现了
虽说NVMe的连续读取快了一大截
但是我认为多半时候 除非是跑单一影片大档
否则多半的游戏加载更加看中4K的表现
如果连续读写的表现在游戏中占比是非常重要的
上面01的测试结果就不会是这样了

上图为(S8 UFS 的测IOPS成绩)

上图为(intel 750P的IOPS成绩)
说了这么多 我无法佐证的一点是
Iphone 7的32G版本 明显比起128G版本在使用上速度更加缓慢
但是可以肯定的是 iphone 7的32G版本用户
没有过多的抱怨速度明显缓慢 如果不是信仰加成
这可以肯定就是快取机制带来的福利了
也希望安卓能拿出一部份内存空间来设计内存快取
不然UFS就算到4.0版本 也不见得能超越内存的速度

Links booklink

Contact Us: admin [ a t ] ucptt.com