苹果M1|苹果M1用着舒服的原因找到了 Intel:下次我也用
苹果M1又快又省电 , 除了跑分很高之外 , 实际体验上也有一种流畅感 。
苹果到底怎么做到的?
【苹果M1|苹果M1用着舒服的原因找到了 Intel:下次我也用】原来除了硬件性能强大以外 , 软件层面也有优化技巧 。
一位名叫Hoakley的程序员偶然发现了其中的秘密 。
这老哥总之是有钱 , M1和英特尔版的iMac都买了 。业余时间他喜欢自己开发点实用小工具 , 比如压缩软件 。
老哥在后台测试自己的压缩程序时发现 , M1上只有4个核心在跑 , 还有4个闲着 。
文章图片
换到英特尔上试试 , 因为还没用到虚拟核心 , 是由8个真实核心共同承担了工作 。
文章图片
回到M1里仔细一看 , 使用率高的还不是性能高的那4个 , 而是“效率核心” 。
文章图片
△4核有难 , 4核围观
在M1芯片的8个CPU核心里 , 有4个被称作“Firestorm”的性能核心 , 另外4个是“Icestorm”效率核心 , 性能弱一些 , 不过功耗更低 。
文章图片
研究了一下 , 老哥发现是自己把任务优先级设低了 , 提高以后 , 就能让4个性能核心参与进来 。
老哥恍然大悟 , 原来这就是苹果的策略 。
让优先度低的任务只占用效率核心 , 慢点就慢点吧 , 谁让你优先度低呢 。
性能核心保持空闲状态 , 随时应对突发的高优先度任务 。
App启动速度快 , 切换流畅的原因找到了:4个高性能的核心一直候着呢 。
非对称核心
MacOS给开发者提供了4种优先级 , 分别是后台 (background)、实用 (utility)、用户发起的 (userInitiated)、用户交互的 (userInteractive) 。
如果不指定的话就归为默认 , 由操作系统自己安排 。
Hoakley老哥把自己的压缩软件改造成可以随时调整优先级的 , 然后准备了一个10GB的文件开始测试 。
文章图片
在英特尔CPU上 , 最高优先级完成压缩需要23.3秒 , 调成最低优先级需要26秒 。
在M1上 , 最高优先级运行只要14.1秒 , 调成后台优先级直接涨到101秒 。
老哥认为 , 牺牲一些不重要任务的运行速度 , 换来的使用体验上的流畅 , 太值了 。
比如备份文件就不用着急 , 即使慢到用15分钟备份不到1G也无所谓 。
历史上也有这样一个反面教材 。
2006年的时候Linux内核引入了一种叫完全公平队列 (Completely Fair Queuing)的I/O调度机制 。
虽然在理论上能提升总体的运行效率 , 但用户正需要完成的任务总是有一些延迟才能执行 。
因为用户体验太差 , 最终完全公平队列被大多数Linux发行版放弃了 。
不过也有人不喜欢M1的这种机制 , 他认为在笔记本上这样做可以延长续航 。但台式的iMac上真的要牺牲运行速度吗?反正都是插电源的 。
文章图片
英特尔:在学了在学了
其实CPU内核分性能核心和效率核心这件事 , 手机上的Arm芯片早就在做了 。
甚至高通还在研发中的骁龙875 , 被曝光在这种架构基础上还增加了一个“超大核心”Cortex X1 。总共1+3+4构成8个核心 。
文章图片
苹果M1将Arm平台带到了PC市场 , 让英特尔开了眼 。
在CES2021上曝光的12代酷睿Alder Lake , 英特尔也宣布要区分两种核心了 。
推荐阅读
- iPhone|曝苹果iPhone 14放弃1200万像素摄像头!原因揭秘
- 苹果|解决信号差!苹果最重要芯片曝光:iPhone 15要首发自研基带
- 苹果|iPhone 14细节曝光:苹果解决最大短板 台积电造全新5G射频芯片
- 真我|realme全球首发150W闪充!老外喊话苹果谷歌
- Intel|Intel 15代酷睿核显爆发:台积电3nm+320单元、目标直指苹果
- Intel|Intel 15代酷睿核显爆发:台积电3nm+320单元、重夺苹果芳心
- 安卓|不用iPhone!苹果员工集体要用安卓手机:原因是为防公司窥探
- iPhone|困扰苹果多年!iPhone 13拍照鬼影问题OPPO Find X5给解决了
- Safari浏览器|市场份额即将反超苹果!微软Edge有望成为世界第二大桌面浏览器
- 苹果|改进AirTag功能!苹果发布iOS 15.4新版:iPhone SE3要来了
