V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Cyshall
V2EX  ›  程序员

m3 max 和 13900k cpu 性能的简单对比

  •  
  •   Cyshall · 2023-12-14 09:39:24 +08:00 · 11111 次点击
    这是一个创建于 382 天前的主题,其中的信息可能已经有所发展或是发生改变。

    测试项目是编译 clickhouse 。

    windows11 23H2 ,13900k + 64GB 内存 + 2T ,是在 wsl2 里面编译的,我网上搜了下说 wsl2 的 cpu 性能损耗大概在百分之二左右,测试结果如下: ClickHouse Compilation Time.png

    Mac os 14.2 ,M3 Max + 128G + 2T ,测试结果如下: m3-max.png

    各位只需要关注最后面的 cpu total 时间就行了。

    13900k 之所以这么慢,我猜测主要是有两个原因:

    1. 13900k 有 32 个逻辑核心,但从结果来看只用到 16 个核心;
    2. 得益于 clang 和苹果的关系,clang 肯定在 mac os 下有特殊优化。

    测试不严谨,各位权当看个乐好了。

    第 1 条附言  ·  2023-12-14 10:28:00 +08:00
    说明一下,我平常上班用的就是上面测试中的 Mac ,下班回来用的是上面测试中的 windows+wsl2 ,所以上面的测试结果非常的“个人化”,但是从最终结果来看,对我(或者类似使用似场景的人)也是非常的有意义。
    86 条回复    2024-05-18 14:58:34 +08:00
    NatureSpirit
        1
    NatureSpirit  
       2023-12-14 09:46:04 +08:00
    Intel 这几年一直很拉胯。
    等憋大招吧。

    希望 amd 和苹果越来越好,有竞争,舒服的用户
    biglion666
        2
    biglion666  
       2023-12-14 09:47:24 +08:00
    wsl io 烂的一笔。。。。
    noErr
        3
    noErr  
       2023-12-14 09:49:56 +08:00
    12535 vs 9496 是什么情况
    Cyshall
        4
    Cyshall  
    OP
       2023-12-14 09:56:49 +08:00
    @biglion666 代码文件在 wsl2 文件系统里面,不是在 windows 系统下面。
    avalon8
        5
    avalon8  
       2023-12-14 09:59:10 +08:00   ❤️ 1
    直接把 win 机器装上 linux 效果会不会好一些
    kneo
        6
    kneo  
       2023-12-14 10:01:08 +08:00 via Android   ❤️ 11
    CPU 型号不同,指令集不同,内存不同,硬盘不同,操作系统不同,隔离环境不同,编译的 target 不同。真不知道最后比较个啥……

    wsl 标称的性能损失应该只是机器码指令的执行性能。但是系统调用特别是 io 这方面,最终在代码层面多干了不少事,损失很多。就你这个结果来说,不奇怪。但毕竟你这个测试太不严谨,证明不了什么问题。
    chenjiangui998
        7
    chenjiangui998  
       2023-12-14 10:18:14 +08:00
    @biglion666 wsl2 的 io 和实体 linux 是一样的, 除非你跨系统
    ttvast
        8
    ttvast  
       2023-12-14 10:18:26 +08:00
    不严谨的测试,除了黑,哪来的乐子?
    chenjiangui998
        9
    chenjiangui998  
       2023-12-14 10:18:38 +08:00
    @avalon8 不会, 我测试过, 基本一样
    Cyshall
        10
    Cyshall  
    OP
       2023-12-14 10:20:14 +08:00   ❤️ 15
    @ttvast 这结果是我自己的机器跑出来真实结果,黑啥了?
    beimenjun
        11
    beimenjun  
       2023-12-14 10:26:43 +08:00
    其实也可以看 GeekBench 平均值附近的结果,M3 Pro 16 核 Clang 得分是 3W8 左右,13900K 得分是 4W1-4W8

    理论上应该还是 13900K 要更强的。
    airqj
        12
    airqj  
       2023-12-14 10:28:22 +08:00 via Android
    装上 linux 再测试看看吧
    blackeeper
        13
    blackeeper  
       2023-12-14 10:28:57 +08:00
    一个是 12535 ,一个是 9496 ,这是啥情况
    xtreme1
        14
    xtreme1  
       2023-12-14 10:35:05 +08:00
    根据我自己的经验... wsl2 会经常被调度到小核上去
    op 可以编译时开个任务管理器监控一下
    forgetlight
        15
    forgetlight  
       2023-12-14 10:38:11 +08:00
    和我的实际体验确实也是差不多的.. 之前有几个机器人位姿优化的 c++的 base, 在 m1 pro 在 pd 下都比我的 12900k 快...
    Cyshall
        16
    Cyshall  
    OP
       2023-12-14 10:38:42 +08:00
    @xtreme1 可以的,我下班回看再跑一遍看看。
    murmur
        17
    murmur  
       2023-12-14 10:40:34 +08:00   ❤️ 1
    13900k 有 32 个逻辑核心,但从结果来看只用到 16 个核心;
    那不是用 13700 差不多就可以了?
    murmur
        18
    murmur  
       2023-12-14 10:41:21 +08:00
    @Cyshall 128g+2t ,这个价格差价能配一台新 windows 电脑出来了,不考虑价格的性能比较不是黑是啥。。。
    Cyshall
        19
    Cyshall  
    OP
       2023-12-14 11:01:07 +08:00   ❤️ 3
    @murmur #18 捏造事实叫才叫黑啊,但是我没有阿。
    ntedshen
        20
    ntedshen  
       2023-12-14 11:07:42 +08:00
    1618%。。。16 线程多一点
    13900k8 大核 16 小核合计 32 个线程。。。

    也就是说 13900k 在仅出力一半而且有性能损耗甚至 build 对象多了三分之一的情况下就能和 m3max 打成了 2:3 。。。
    kanepan19
        21
    kanepan19  
       2023-12-14 11:10:59 +08:00
    两边都装虚拟机, 设置相同核心数,测一个呗。
    bjfane
        22
    bjfane  
       2023-12-14 11:17:00 +08:00
    我之前有简单测试过 nodejs 的个人自用项目,
    12700 64G 3200 频率的 win11 和 m2max 的 mac studio
    大致结论是:
    1 ,win11 下最慢,
    2 ,wsl 下中
    3 ,mac studio 最快
    非严格测试。
    oxromantic
        23
    oxromantic  
       2023-12-14 11:24:41 +08:00
    建议两个平台都用 vm linux 测试比较,这样只有架构差异,专治嘴硬
    ShadowPower
        24
    ShadowPower  
       2023-12-14 11:31:28 +08:00   ❤️ 4
    有一个变量没控制好,就是编译输出的目标平台
    编译到 x86 和编译到 arm ,它们不是相同的任务
    fgodt
        25
    fgodt  
       2023-12-14 11:42:21 +08:00
    12535 vs 9496 两边编译的文件数量不一样
    Huelse
        26
    Huelse  
       2023-12-14 11:46:51 +08:00
    你这个结果会误导人,如果不是在 v2 已经有一大批人相信你的结论了,所以会有人说你有黑的嫌疑,而不是给自己加个个性化的条件就与己无关了。
    lostberryzz
        27
    lostberryzz  
       2023-12-14 11:47:09 +08:00   ❤️ 2
    楼主你惹怒了果黑...
    AllenTsui
        28
    AllenTsui  
       2023-12-14 11:54:27 +08:00
    只有我羡慕 OP 好有钱吗
    ysc3839
        29
    ysc3839  
       2023-12-14 12:12:06 +08:00 via Android
    这个估计是 Intel 大小核的问题,应该加个 AMD 7950X 对比
    Nazz
        30
    Nazz  
       2023-12-14 12:14:54 +08:00 via Android
    苹果编译速度确实快,不仅仅是 clang, go 和 java 都是如此
    Philippa
        31
    Philippa  
       2023-12-14 12:15:37 +08:00 via iPhone
    应该用 7950x3D 来比较,大缓存会加速编译。另外别用 windows ,用 linux 。另外别编一天,arm 和 x86 编译过程是不一样的。最后 pc 端的内存应该超频,毕竟这是常规了。
    PainAndLove
        32
    PainAndLove  
       2023-12-14 12:23:14 +08:00
    好歹也用 13900k 装个黑苹果试试吧, 就 cpu 的性能来说,在不同的平台的测试结果能说明什么吗?
    errZX
        33
    errZX  
       2023-12-14 12:31:24 +08:00 via Android
    还好我手里的项目不是你来提需求
    liprais
        34
    liprais  
       2023-12-14 12:32:27 +08:00 via iPhone
    Intel fanboy 真多
    Cyshall
        35
    Cyshall  
    OP
       2023-12-14 12:35:15 +08:00 via Android
    @blackeepe 一个是 Mac arm ,一个是 Linux x86 可能是架构不一样导致的实现不一样,所以文件文件数量不一样。
    Cyshall
        36
    Cyshall  
    OP
       2023-12-14 12:42:16 +08:00
    @Huelse 就这么几十个字,但凡看完也不至于说我在黑,而且我还解释了 wintel 慢的可能原因。
    huyomi
        37
    huyomi  
       2023-12-14 13:00:21 +08:00
    不懂就问,编译和 io 也有很大关系,wsl2 下的虚拟盘,io 性能会较低吗?
    cnbatch
        38
    cnbatch  
       2023-12-14 13:14:18 +08:00   ❤️ 1
    这么对比就不可靠了,文件数量相差三千多,这本身的任务量差距就很大。
    最起码的,编译的文件数量要相同。最好是编译的文件完全一样,这样才有意义。
    DICK23
        39
    DICK23  
       2023-12-14 13:50:58 +08:00
    想看 13900k 在黑果下的性能表现
    zacard
        40
    zacard  
       2023-12-14 14:03:07 +08:00
    这配置是真羡慕了
    mjikop1231
        41
    mjikop1231  
       2023-12-14 14:08:36 +08:00
    为什么对比 CPU 性能是去跑编译算 CPU 时间啊。。。
    这不该正经跑点基准么?通用内存在编译场景下的表现的那不比牙膏厂的小缓存高多了
    Cyshall
        42
    Cyshall  
    OP
       2023-12-14 14:11:18 +08:00   ❤️ 1
    @mjikop1231 普通用户,刚好有设备就顺手跑了一下,没必要太正经。
    saturn7
        43
    saturn7  
       2023-12-14 14:29:11 +08:00
    WSL1/2 挂磁盘来用写 web 开发还能凑合,写 C++与 Rust 项目用 Linux IO 对比一下,WSL2 IO 性能烂到天际,根本是不可用的东西。
    Edward5937
        44
    Edward5937  
       2023-12-14 14:59:34 +08:00
    一般程序上遇到的性能问题瓶颈都是 io ,wsl 同样
    wwthappy
        45
    wwthappy  
       2023-12-14 15:10:14 +08:00   ❤️ 1
    确实对于类似使用似场景的人是有意义的。编译是个 cpu 和 IO 密集型的任务,wsl2 还是需要 drvfs 去转换 IO 到 ntfs ,带来的损失在这种场景下是不能忽略的,肯定跟 macos 的原生文件系统有差距。
    shimanooo
        46
    shimanooo  
       2023-12-14 15:24:01 +08:00
    大冬天的,M3 这种几十 W 的能用吗?
    13900K 400W 暖风机不香吗,老寒腿都治好了。

    M3 开春再说(逃
    zouywx86
        47
    zouywx86  
       2023-12-14 15:29:34 +08:00   ❤️ 2
    没懂怎么有人会对这个结果激动?
    我看标题和写的内容,也没啥过激的情况,而且 OP 也特别提到了,这是他日常使用的 2 台机器,只是做个日常使用对比而已。
    hobbitlhy
        48
    hobbitlhy  
       2023-12-14 15:47:47 +08:00
    和我日常感觉一样,mac 上编译项目比我 windows 台式机要快
    Cyshall
        49
    Cyshall  
    OP
       2023-12-14 16:04:20 +08:00
    @shimanooo 真的,13900K + 4090 + 4k 160 显示器,打开大型 3A 游戏,画质拉满,分辨率拉到 4k ,运行半个小时左右,机箱周围要高 4 度左右。
    q447643445
        50
    q447643445  
       2023-12-14 16:13:03 +08:00   ❤️ 1
    这种东西自己知道就好 放出来 只会能让一部分人不适
    这还是在 V2 放其他地方早就开始成群结队 哄堂大笑了
    最终就是引战
    TOM2333
        51
    TOM2333  
       2023-12-14 16:13:17 +08:00 via iPhone
    楼主,输出的二进制文件不一样也能比的吗
    TOM2333
        52
    TOM2333  
       2023-12-14 16:13:48 +08:00 via iPhone
    @TOM2333 说错了,输出的文件是一样的吗
    xigins
        53
    xigins  
       2023-12-14 16:34:02 +08:00
    m3 的内存延迟比 intel 快太多,一个是芯片内访存,一个要在主板上绕一圈,,,
    bluearc
        54
    bluearc  
       2023-12-14 16:56:56 +08:00
    其实结果并不意外吧,毕竟 m3 max 的规格比 i9 高很多,内存延迟也低些,即使严格条件下 m3 max 也应该好点
    Cyshall
        55
    Cyshall  
    OP
       2023-12-14 17:26:38 +08:00 via Android
    @TOM2333 额,首先一个 mac os arm 系统,一个 Linux x86 系统,编译出来的文件肯定不一样,但这属于显而易见的事情,所以有点不明白你的意思。
    enihcam
        56
    enihcam  
       2023-12-14 19:18:01 +08:00
    制品链接很耗内存。
    sunfall
        57
    sunfall  
       2023-12-14 20:18:07 +08:00
    @kneo 编译器不同,编译文件个数不同,编译的源码版本可能不同,内存大小不同。
    看个乐子吧
    SekiBetu
        58
    SekiBetu  
       2023-12-14 20:22:32 +08:00
    测试很有意义,希望苹果赶紧支持 windows 系统的安装,我已经忍不住了
    yanqiyu
        59
    yanqiyu  
       2023-12-14 20:25:45 +08:00
    @Cyshall 就生成 arm 下的二进制和生成 x86 的二进制的工作量显然是不同的,作为性能比较最好编译到相同的目标
    ly841000
        60
    ly841000  
       2023-12-14 20:54:22 +08:00
    @Cyshall #55 编译器中,x86 的优化器和 arm 的优化器完全不是一个水平的,x86 优化器进化了这么多年,相当相当复杂了
    laminux29
        61
    laminux29  
       2023-12-14 21:55:02 +08:00
    13900k 只用了一半核,就能和 M3 平分秋色了。

    买 M3 的人真惨。
    YsHaNg
        62
    YsHaNg  
       2023-12-14 22:44:29 +08:00
    @wwthappy 放 wsl2 ext 文件树里跟 ntfs 有什么关系
    lindt99cocoa
        63
    lindt99cocoa  
       2023-12-14 23:48:26 +08:00   ❤️ 1
    如果 LZ 的工作就是基于 clickhouse 做二次开发,那我认为这个比较没问题,在这种使用场景下确实 Mac 具有更好的体验。如果是原生环境,我相信 13900k 的表现不会这么拉垮,但可惜 clickhouse 不支持 Windows 开发,而 Linux 桌面的使用体验只能说差强人意。不过这个对比也可以从侧面说明 wsl 并不是最好的 Linux 发行版
    Granthese
        64
    Granthese  
       2023-12-14 23:53:13 +08:00
    Granthese
        65
    Granthese  
       2023-12-14 23:53:55 +08:00
    @Granthese 13900KF *29.39s
    MrKrabs
        66
    MrKrabs  
       2023-12-15 00:54:50 +08:00
    这帖子就叫做真相真的是很伤人
    tairan2006
        67
    tairan2006  
       2023-12-15 08:54:46 +08:00
    你这测试一点不科学啊。。图一乐
    ShadowPower
        68
    ShadowPower  
       2023-12-15 10:21:52 +08:00
    @YsHaNg 当然有关系,实际上是 NTFS 上的 VHDX 文件里的 EXT4 文件系统。
    大多数虚拟机的运算性能其实都不错,不过虚拟机的 IO 性能就没那么好了。

    WSL2 还有另一种情况,把整个物理硬盘挂在到 WSL 里面。这样会好不少。
    HangoX
        69
    HangoX  
       2023-12-15 10:24:55 +08:00
    m3 max ,我好羡慕,m3 max 128G 的价格太贵了。。intel 的 128G 只要不要 1w
    虽然我觉得 intel 的 cpu 真的很垃圾,那个 200w 的 i7 13700k 和我的 m1 max 差不多,但是扛不住人家内存大
    Cyshall
        70
    Cyshall  
    OP
       2023-12-15 11:08:25 +08:00
    @laminux29 第一句话没问题,13900k 的绝对性能肯定不差,但是大部分软件根本无法利用好这么多核心,所以就结果来看,M3 Max 更胜一筹。
    laminux29
        71
    laminux29  
       2023-12-15 15:45:51 +08:00
    @Cyshall

    这是软件的问题,这不是 CPU 的问题。不要本末倒置。

    如果真要比,应该拿那种能跑满所有核的专业跑分软件,在双方都是顶配的情况下,来进行测评。
    ShadowPower
        72
    ShadowPower  
       2023-12-15 18:37:01 +08:00 via Android
    @Cyshall 大多数真吃性能的专业软件还真能最大限度地利用每一个核心……
    日常生活中碰到的无法充分利用多核的场景反而是游戏。

    上面的有个链接里的帖子其实还给了一组数据,同一台电脑,不同系统:
    Asus G15 | 6900HS | Ubuntu 22.04: 1m 20s
    Asus G15 | 6900HS | Windows Native: 1m 08s
    Asus G15 | 6900HS | WSL-Ubuntu 22.04: 2m 08s

    造成 Windows 和 Linux 下的差距的原因,是两个平台下编译的代码内容其实也不相同。有些代码分支或者依赖只用于某个平台。

    如果算上编译输出 x86 和 ARM 指令集的差异,不相同的地方更多了。

    除此以外还有编译器实现的差异。

    这种对比,其实只能说明特定软件用某个编译器,在特定平台编译到特定目标所需要的时间,无法得出一个适用于其他场景的通用结论。
    squarefong17
        73
    squarefong17  
       2023-12-16 04:12:34 +08:00   ❤️ 1
    7945HX ,64G+2T ,archlinux ,顺手跑了一下 clickhouse 的编译,clone 最新主线之后直接 cmake 然后 ninja -j 32 ,忘了加 time ,有没精确到秒,不过大约从 3:15 开始到 4:41 ,大概二十六分钟的样子完成。

    标题是 m3 max 和 13900K 的对比,实际负载一个跑在实体,一个在虚拟机,这对比本身已经比较离谱了,怨不得别人说你黑。我这个跑分只能跟不超频的 12900K 打的 7945hx 都能 26 分钟编完,我这内存频率还算比较低的,13900K 得接近 40 分钟?多花了 50%以上的时间?显然你的打开方式没能吃满性能,跟 clang 没啥关系,C/C++的编译器多核优化都不错的,你就算拿 64 核的 7995wx 来测,时间消耗的差距不说是线性的,快一两倍总还是有的。如果你坚持 wsl 来编译,当然测试结果对你有意义,但是这不是这两款 CPU 的性能对比。

    最后,clang 再怎么跟苹果有优化也不至于这么离谱,更何况 geekbench 测试中直接就有 clang 子项,这对于性能估算十分具有参考价值。geekbench 还是被人戏称为 applebench 的跑分软件,在这个软件的跑分中,m3 max 和 13900K 的 clang 子项都没什么明显的差距,都在 4 万分左右。你这个 i9 的编译速度,大概率是别的原因,不是 clang 的原因。
    Cyshall
        74
    Cyshall  
    OP
       2023-12-17 01:42:17 +08:00
    @squarefong17 我今天又用 wintel 跑了两次,快了三四分钟吧,cpu 方面就刚开始的时候会 32 核心吃满,后面就只能吃到一半核心的样子,不知道是不是 wsl2 的问题,你编译的时候全程 32 个核心吃满了吗?
    squarefong17
        75
    squarefong17  
       2023-12-17 03:55:17 +08:00
    @Cyshall 我这后半段也有好长时间没吃满 32 线程。这一段似乎什么 asm 的编译?
    annieguo
        76
    annieguo  
       337 天前
    ubuntu 下编译能吃满:
    [12728/12728] Stripping clickhouse binary
    ninja 44531.85s user 2145.34s system 3157% cpu 24:38.12 total
    annieguo
        77
    annieguo  
       337 天前
    补一下我的配置和环境,机器是 nuc13 extreme ,13900k + 96g ,ubuntu 22.04 ,llvm17 。nuc 的性能相比同配置的台式机会略弱一点。

    指令:
    cmake -S . -B build
    time cmake --build build -j 32

    结果:
    [12728/12728] Stripping clickhouse binary
    cmake --build build -j 32 44499.11s user 2132.85s system 3160% cpu 24:35.45 total
    Cyshall
        78
    Cyshall  
    OP
       336 天前
    @annieguo #77 你的 nuc13 是拿来当服务器用的吗?待机功耗大概多少哦?
    annieguo
        79
    annieguo  
       324 天前 via Android
    @Cyshall 是的,待机差不多 30-50w 之间。nuc13 最高 250w ,然后我在 bios 里面设置了 pl1 持续 192s ,之后功耗限制在 200w (放在隔壁,冬天不开空调,温度在 80 度左右)
    Cyshall
        80
    Cyshall  
    OP
       322 天前
    @annieguo 你这里的 80 度是 cpu 满负载的情况吗?
    s1461a
        81
    s1461a  
       227 天前
    @kneo 为啥要管指令集内存硬盘,mac 和 win 都是开发使用,直接测试自己开发环境情况下哪个更有效率才是目的
    kneo
        82
    kneo  
       227 天前 via Android
    @s1461a 作为一个苹果用户,说出“我不管”没问题。但是作为一个程序员,这么说我认为是挺没面子的。
    s1461a
        83
    s1461a  
       226 天前
    @kneo 不结合实际情况,而单纯考虑跑分更是不负责任的。
    kneo
        84
    kneo  
       226 天前 via Android   ❤️ 1
    @s1461a 啊?不结合实际情况?你说的是前面那个“为啥要管指令集内存硬盘”这种人?
    s1461a
        85
    s1461a  
       226 天前
    @kneo 实际情况表达有误,是实际使用情况。楼主使用 windows+wsl2 和 macbook 对比,然后得出了再 clang 下使用效率。你在意的是两个 cpu 内部哪个更优秀,我在意的是我用 win+wsl2 台式和 macbook 日常使用差距多大。更像是你抛弃了系统对软件的优化,从这个角度而已,你只是在关心硬件,但使用电脑工作不仅仅只是硬件,你能脱离系统跑软件?
    kneo
        86
    kneo  
       226 天前 via Android
    @s1461a

    首先,你说你在意的是“win+wsl2”和“macbook”,但是 op 标题写的是“CPU 对比”。先搞清楚别人在讨论什么。

    如果你说自己在比较特定型号机器,在特定运行环境下,执行特定任务的结果,并且,你只在乎这个任务的结果,OK 。

    但凡这些条件你换一个,比如同样的运行环境比较,你并非运行 clang 执行编译任务,而是使用 nodejs 运行一个 web 服务器,这个比较结果就没有参考意义。

    你说别人在乎“硬件参数”这有点离谱了。我只是指出方法中的问题。我在意的的是科学的思路,工程的方法,然后对海量信息垃圾进行一个标记。难道和我不同,你在这里得到了什么结论?你口中的“系统对软件的优化”,请问哪个系统对哪个软件有优化?证据是什么?技术是什么?别给我整一句“macbook 系统对日常开发使用有优化”,那我可要笑死了。

    最后,我不知道你哪冒出来的,逮个人就一口一句“我在意的是”“我在意的是”,是你自己跑过来挖坟的,没人在意你在意什么。有效信息才会被别人在意。op 和你的回复,都不是有效信息。特此标记,恕不回复。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1223 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 18:00 · PVG 02:00 · LAX 10:00 · JFK 13:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.