也许某些场景下 M1/M2 可能会性能比 M1Pro/Max 更好一些?

2022-10-25 07:53:50 +08:00
 MrLonely

以防有人看错标题,先来说明一下,这里讲的单纯说的是性能,而不是综合体验。并不是说因为对散热的压力,重量,功耗对电池的压力等因素综合下来让 M1/M2 综合分数会更高。

这里是一篇讨论 M1 核心调度的 blog

https://eclecticlight.co/2022/04/25/how-macos-manages-m1-cpu-cores/

这里是译者稍微修改版的译文

https://sspai.com/post/73048

之前看文章的时候就想过,这种针对 E 集群调度

「最低 QoS 线程只在 E 集群上运行」的规则始终不变。

的方法有没有可能导致 M1/M2 在某些特定场景下性能更差。刚好这几天被我遇到了。

前段时间拿到了新 iPhone ,来给老 iPhone 备份,恢复到新 iPhone 上的时候发现在一台 NUC11 上预计完成备份的时间特别长,打开任务管理器看到任务跑满了单核。

猜测是因为加密备份性能达到了瓶颈。于是立刻停止备份,改用 M1 Max 的 MacBook Pro 来做备份和恢复。

在操作过程中关注了一下 M1 Max 里的各个核心负载。2 颗 E 核心长时间满载,8 颗 P 核心一直围观。

实际上对备份的加密耗时综合成绩还是比 NUC11 好很多的。但同时我也在想,如果有人的主要工作内容就是来做这些最低 QoS 线程的任务。那 2 核的 E 集群岂不是性能要显著低于 4 核的 E 集群了?

所以除了文章了提到的那些任务,以及加密 iOS 备份以外,还有什么线程是最低 QoS 的呢?

2609 次点击
所在节点    MacBook Pro
9 条回复
Satelli
2022-10-25 08:10:30 +08:00
同个博客的文章。
https://eclecticlight.co/2022/01/02/last-week-on-my-mac-on-m1-chips-1-1-4/
>
On an original M1, with its four E cores, low QoS ‘background’ processes run with the core clock speed at around 1000 MHz...

The two E cores on an M1 Pro are managed differently... when a second process is added... the clock speed is doubled to nearly 2000 MHz. The effective throughput then matches that of the original M1’s four E cores still running at 1000 MHz...

总结是干 Low QoS 的“重活”时,M1 Pro/Max 的 2 颗 E 核和 M1 普通版的 4 颗 E 核性能基本等同。
aireason
2022-10-25 08:48:21 +08:00
我确实常有发现,有时候 m1 pro 两个 E 核都满载了,其他几个大核还在围观,纹丝不动
dingwen07
2022-10-25 08:50:42 +08:00
之前遇到过的:
M1 Pro 的 Xcode 更新装了半天
M1 很快
看了下 iStats 好家伙安装进程全在小核心上跑,M1 Pro 只有两个
Leonard
2022-10-25 08:56:11 +08:00
为啥 M1Pro/Max 不给 4 个 E 核
MrLonely
2022-10-25 09:17:14 +08:00
@Satelli 文章看完了。多谢分享。

不过文章里并没有提到这背后的原因。那理论上来说苹果是不是也可以选择让 M1/M2 的 4 个 E 核跑到 2GHz ?还是说这不同的 E 核策略是因为芯片的 E 核物理上有所不同?
Satelli
2022-10-25 09:33:17 +08:00
@MrLonely 不太清楚 M1 E 核为什么不提频。博主也做过 M1 Pro/Max 的插电 /仅电池供电的测试。
https://eclecticlight.co/2021/11/04/m1-pro-first-impressions-2-core-management-and-cpu-performance/
>
Differences in performance were much greater on the E cores, where they also varied according to whether the MBP was running on battery alone:

M1 0.409 s (100%)
M1 Pro on battery 0.340 s (83%)
M1 Pro on mains 0.169 s (41%)
PerFectTime
2022-10-25 10:12:42 +08:00
有这个感觉,之前的 M1 MacMini 再跑项目构建的时候要 37 秒,M1 Max 构建 56 秒
MrKrabs
2022-10-25 11:34:18 +08:00
那是红富士写死了一些服务进程的 qos ,你自己的程序默认跑当然是大核
2NUT
2022-10-25 19:55:02 +08:00
那这调度算法也太傻了吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/889557

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX