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

楼主: ja9740807 (finallydream)   2018-10-27 22:06:20
关于NVMe和UFS谁快
这点我们先放到后面再来谈
我们先来了解 为何iphone 只需要4G的RAM就可流畅
我认为情况是这样的
Android的RAM运作机制基本上就是给予程式多工占用
而ios的情况则是
RAM主要是拿来加速快取用的
并不是拿来大量背景多工
当初的设计可能就是认为移动端的设备不适合大量的使用后台程序
对于耗电来说是一大负担 发热也是
APP透过预先加载到快取的方式 来大幅度的增加读写速度
https://imgur.com/3Zfmvby
对于iphone 6曾经混用TLC和MLC的情况可以发现到
安装超过700个APP就会容易发生问题
https://imgur.com/VAEhfrR
左图为(TLC版本的iphone 6 64G) 右图为(MLC版本的iphone 6 64G)
TLC版本的占用RAM更多
原因应该是为了TLC要和MLC版本持平速度
所以才造成的情况 需要占用更大量的快取来尽可能达到相同速度
(所以P10说的UFS和eMMC如果真的透过内存快取貌似有可能达成两个版本相同体验)
https://imgur.com/jHOvLnA
这情况在01也有人提出 并非是iphone 6 plus独有的问题
到这里可以看的出 为何iphone 6s很佛心的给到2G的内存
可以从MLC和TLC比较那张判断出1G给程式快取实在是不够用
https://imgur.com/9RQsDBu
从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的测试结果就不会是这样了
https://imgur.com/j1TCH2F
上图为(S8 UFS 的测IOPS成绩)
https://imgur.com/pWx2e4n
上图为(intel 750P的IOPS成绩)
说了这么多 我无法佐证的一点是
Iphone 7的32G版本 明显比起128G版本在使用上速度更加缓慢
但是可以肯定的是 iphone 7的32G版本用户
没有过多的抱怨速度明显缓慢 如果不是信仰加成
这可以肯定就是快取机制带来的福利了
也希望安卓能拿出一部份内存空间来设计内存快取
不然UFS就算到4.0版本 也不见得能超越内存的速度

Links booklink

Contact Us: admin [ a t ] ucptt.com