V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MrLonely
V2EX  ›  MacBook Pro

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

  •  
  •   MrLonely · 2022-10-25 07:53:50 +08:00 · 2617 次点击
    这是一个创建于 768 天前的主题,其中的信息可能已经有所发展或是发生改变。

    以防有人看错标题,先来说明一下,这里讲的单纯说的是性能,而不是综合体验。并不是说因为对散热的压力,重量,功耗对电池的压力等因素综合下来让 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 的呢?

    9 条回复    2022-10-25 19:55:02 +08:00
    Satelli
        1
    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
        2
    aireason  
       2022-10-25 08:48:21 +08:00
    我确实常有发现,有时候 m1 pro 两个 E 核都满载了,其他几个大核还在围观,纹丝不动
    dingwen07
        3
    dingwen07  
       2022-10-25 08:50:42 +08:00 via iPhone
    之前遇到过的:
    M1 Pro 的 Xcode 更新装了半天
    M1 很快
    看了下 iStats 好家伙安装进程全在小核心上跑,M1 Pro 只有两个
    Leonard
        4
    Leonard  
       2022-10-25 08:56:11 +08:00
    为啥 M1Pro/Max 不给 4 个 E 核
    MrLonely
        5
    MrLonely  
    OP
       2022-10-25 09:17:14 +08:00
    @Satelli 文章看完了。多谢分享。

    不过文章里并没有提到这背后的原因。那理论上来说苹果是不是也可以选择让 M1/M2 的 4 个 E 核跑到 2GHz ?还是说这不同的 E 核策略是因为芯片的 E 核物理上有所不同?
    Satelli
        6
    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
        7
    PerFectTime  
       2022-10-25 10:12:42 +08:00
    有这个感觉,之前的 M1 MacMini 再跑项目构建的时候要 37 秒,M1 Max 构建 56 秒
    MrKrabs
        8
    MrKrabs  
       2022-10-25 11:34:18 +08:00
    那是红富士写死了一些服务进程的 qos ,你自己的程序默认跑当然是大核
    2NUT
        9
    2NUT  
       2022-10-25 19:55:02 +08:00
    那这调度算法也太傻了吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2712 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 07:30 · PVG 15:30 · LAX 23:30 · JFK 02:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.