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

2023-12-14 09:39:24 +08:00
 Cyshall

测试项目是编译 clickhouse 。

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

Mac os 14.2 ,M3 Max + 128G + 2T ,测试结果如下:

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

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

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

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

12730 次点击
所在节点    程序员
86 条回复
laminux29
2023-12-14 21:55:02 +08:00
13900k 只用了一半核,就能和 M3 平分秋色了。

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

WSL2 还有另一种情况,把整个物理硬盘挂在到 WSL 里面。这样会好不少。
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
2023-12-15 11:08:25 +08:00
@laminux29 第一句话没问题,13900k 的绝对性能肯定不差,但是大部分软件根本无法利用好这么多核心,所以就结果来看,M3 Max 更胜一筹。
laminux29
2023-12-15 15:45:51 +08:00
@Cyshall

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

如果真要比,应该拿那种能跑满所有核的专业跑分软件,在双方都是顶配的情况下,来进行测评。
ShadowPower
2023-12-15 18:37:01 +08:00
@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
2023-12-16 04:12:34 +08:00
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
2023-12-17 01:42:17 +08:00
@squarefong17 我今天又用 wintel 跑了两次,快了三四分钟吧,cpu 方面就刚开始的时候会 32 核心吃满,后面就只能吃到一半核心的样子,不知道是不是 wsl2 的问题,你编译的时候全程 32 个核心吃满了吗?
squarefong17
2023-12-17 03:55:17 +08:00
@Cyshall 我这后半段也有好长时间没吃满 32 线程。这一段似乎什么 asm 的编译?
annieguo
2024-01-28 23:00:27 +08:00
ubuntu 下编译能吃满:
[12728/12728] Stripping clickhouse binary
ninja 44531.85s user 2145.34s system 3157% cpu 24:38.12 total
annieguo
2024-01-28 23:46:05 +08:00
补一下我的配置和环境,机器是 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
2024-01-29 09:45:13 +08:00
@annieguo #77 你的 nuc13 是拿来当服务器用的吗?待机功耗大概多少哦?
annieguo
2024-02-10 11:08:51 +08:00
@Cyshall 是的,待机差不多 30-50w 之间。nuc13 最高 250w ,然后我在 bios 里面设置了 pl1 持续 192s ,之后功耗限制在 200w (放在隔壁,冬天不开空调,温度在 80 度左右)
Cyshall
2024-02-12 16:38:22 +08:00
@annieguo 你这里的 80 度是 cpu 满负载的情况吗?

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

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

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

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

© 2021 V2EX