梦晨 发自 凹非寺
量子位 报道 | 公众号 QbitAI

苹果M1又快又省电,除了跑分很高之外,实际体验上也有一种流畅感。

苹果到底怎么做到的?

原来除了硬件性能强大以外,软件层面也有优化技巧。

一位名叫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,英特尔也宣布要区分两种核心了。

AMD知道了这个消息后,直接把挤牙膏的Zen3+项目给取消了,转而全力研发下一代Zen4架构处理器,代号Raphael,预计2022年发布。

不知道AMD会不会选择跟上这个潮流。

参考链接:
[1]https://arstechnica.com/gadgets/2021/05/apples-m1-is-a-fast-cpu-but-m1-macs-feel-even-faster-due-to-qos/
[2]https://eclecticlight.co/2021/05/14/cores-shouldnt-all-be-the-same-m1-macs-do-better/

苹果M1用着舒服的原因找到了,英特尔:学到了,下次我也用相关推荐

  1. 苹果“自研”心不死 仍考虑收购英特尔基带业务

    近日,据外媒最新报道,苹果正在与英特尔谈判,考虑收购英特尔德国的调制解调器部门. 苹果与高通前一段时间达成了和解,同时签署了6年的基带合作协议,这意味着未来苹果旗下的产品都可以使用高通方面提供基带方面 ...

  2. 苹果发布 iOS、macOS 更新,系统修复英特尔重大漏洞

    点击上方"CSDN",选择"置顶公众号" 关键时刻,第一时间送达! 今日凌晨,苹果公司对面向 iPhone.iPad 产品的 iOS 系统,以及面向电脑的 ma ...

  3. AI一分钟 | 传美团37亿美元收购摩拜;苹果在给Mac设计处理器,2020年替代英特尔

    整理 | DavidZh 一分钟AI 摩拜 Mobike 可能作价 37 亿美元被美团收购,其中包括 27 亿美元的实际作价(12 亿现金+15 亿股权)和 10 亿美元的债务 Google 分拆搜索 ...

  4. 电脑卡顿不流畅是什么原因_为什么安卓系统用久了会卡,苹果系统却依然流畅?原因找到了!...

    手机用的时间长了会变卡已经是大家公认的问题,无论是安卓系统的手机还是苹果系统的手机都会变得奇卡无比,相对来讲苹果系统在流畅度上更加平滑一些,到底是什么原因导致手机系统变得如此卡,现在各个维度做个大致的 ...

  5. 苹果AirPower总是跳票的原因找到了?或因商标被抢注

    [TechWeb]即将召开春季新品发布会的苹果,在近日接连发布了包括新iPad mini.新iPad Air.新iMac.新AirPods在内的多款新品,种种迹象表明,新款iPhone SE也即将发布 ...

  6. 笔记本电脑处理器_苹果高管:我们都没有想到M1的性能有那么强|英特尔|处理器|iphone|ipad|笔记本电脑...

    苹果近日发布了自主研发处理器M1以及搭载新处理器的笔记本电脑,显示其速度和效率都有很大提升.发布会结束不久,苹果三位最资深的高管--营销总监格雷格·乔维亚克(Greg Joswiak).软件主管克雷格 ...

  7. 为什么苹果 M1 芯片如此之快?

    苹果芯片正在快速崛起.无论是从配置还是从其它方面,苹果在超越自己的同时也远远地把同行甩在后面.本文将详细解答:为什么苹果的 M1 运行速度会如此之快? 英文名称:Why is Apple's M1 C ...

  8. 击败酷睿i9,苹果M1芯片为何如此优秀?

    除了轻度办公以外,Arm 架构的苹果电脑还可以打游戏.看视频.跑深度学习,效率都还不错. 最近,很多人的 M1 芯片版苹果 MacBook 和 Mac Mini 到货了.在不少测试中,我们看到了令人期 ...

  9. 为什么苹果M1芯片这么快?

    苹果芯片正在快速崛起.无论是从配置还是从其他方面,苹果在超越自己的同时也远远地把同行甩在后面.本文将详细解答:为什么苹果的 M1 运行速度会如此之快? 英文名称:Why is Apple's M1 C ...

最新文章

  1. mybatis简化实现思路
  2. 鸿蒙系统手机mate40,鸿蒙系统来了!华为Mate40首批,2年前手机将被淘汰
  3. mysql merge 分区
  4. Squid配置二级代理(父代理)
  5. 设计模式:原型模式(Prototype)
  6. 85. Maximal Rectangle
  7. MongoDB Query 的几个方法
  8. win10 + Terminal + WSL+ oh-my-zsh 配置漂亮实用的windows终端及配置ubuntu不加.exe打开windows程序
  9. Nginx模块开发—Nginx代码规范
  10. 判断display为隐藏还是显示及获取css
  11. 使用Spring-MongoDB访问全球分布数据库Cosmos DB(2)
  12. L3-011 直捣黄龙 (30 分)-PAT 团体程序设计天梯赛 GPLT
  13. java socket nio_Java Socket和ServerSocket编程 NIO
  14. java考试时间,Java认证考试知识点:Java时间类的函数
  15. 2022年定位系泊系统市场深度分析及发展研究预测报告
  16. Echarts 地图基本使用
  17. 藏着无数秘密:一键查看缩略图文件的神器 Thumbs Viewer
  18. 计算机没网络怎么更新网卡驱动,电脑网卡驱动更新 怎么更新网卡驱动(图文)...
  19. python爬虫之静态网页——全国空气质量指数(AQI)爬取
  20. 使用Optional处理null

热门文章

  1. 请参阅:Chrome开发者工具中的悬停状态
  2. SQL优化--inner、left join替换in、not in、except
  3. 16位流应用与代码统计器例题
  4. unity渲染层级关系小结
  5. 详细解剖大型H5单页面应用的核心技术点
  6. 智慧城市监控照明物联网管理系统应用分析
  7. spring4 整合 mybatis3 配置文件
  8. 如何制作一个通用的多系统安装U盘七(Windows相关配置)
  9. Activity传递对象的方法
  10. 开启Sharepoint 2013站点邮箱