从年初开始,我就以在职状态修计算机科学(CS)硕士学位了。这个学期的必修课是“数据结构与算法”,主要是以Python为载体。学期初就在问多年老码农:学习这东西用Mac好,还是用Windows好。朋友回复,如果只是Python的话都可以。
似乎在涉及Java和Python的两门课起初,我都发现环境搭建是完全可以使用macOS的。不过未来随着课程深入,到以后学机器学习相关的内容,则对于平台的选择牵扯到两个问题,一是生态,二是设备性能。而且这两个问题有时又是相互关联的。
前不久有个up主发了个评测视频《i5轻薄本够写大作业吗》。他主要测试的是Python - sklearn和Matlab库,依赖于Intel oneAPI和MKL(Math Kernel Library)数学加速库。跟老码农朋友聊天时,他也提到了Intel的这个MKL库很优秀。而且去年Intel还给sklearn搞了个扩展插件sklearnex,据说能够让sklearn瞬间就加速几十到几百倍。有兴趣的同学可以去看一看这则特别面向机器学习、数据分析“作业”的视频。
在CS学习上,单就生态来看,PC选择上投靠x86好像还是更不错的选择——而且这还没谈到老黄的生态。
而性能方面,这两年AMD、Intel、苹果在PC处理器上真的内卷得还挺厉害。12代酷睿为CPU加入E-core效率核心以后,消费产品的处理器核心数飙升。我记得2017年轻薄本都还在用双核处理器。眼见5年后的今天,不少笔记本的CPU都有14个核心了。其实多核对某些应用而言没有太大意义,但对机器学习、数据分析相关的工作和作业,那就很重要了。
最近拿到一台Dell灵越7420(灵越14 Plus),处理器是酷睿i7-12700H,显卡GeForce RTX 3050。用了几天又让我开始在想,基于性能考量,未来几年的学习停靠在哪个平台为好。所以拉来手上的M1版MacBook Air来做个性能方面的比较。
对比的双方
展开正题之前说3点。第一是用灵越7420和MacBook Air比,就芯片和系统用料来看,其实是不公平的。前者是个标压14核处理器,外加光追独显(虽然是最弱的);后者是个低压处理器(M1峰值功耗25W CPU + 10W GPU)。
灵越7420左右两边都有散热孔和鳍片,不过后方位置看起来像散热孔的格栅(右下图),该位置内侧并没有散热鳍片,也非出风或进风口,似乎是为了与Dell其他型号的设备保持外观的一致性而存在的…
灵越7420在形态上属于全能本,而非轻薄本——从机身左右两侧的散热鳍片,也能看出它是看重性能释放的——虽然在体态上,这款笔记本更靠近轻薄本。我感觉要和灵越7420比,相对科学的对比对象是MacBook Pro 14"。两者都是14寸笔记本,后者也应用了M1 Pro/M1 Max这种规模更大的处理器。
但我手上就只有MacBook Air,而且是M1版。另外要考虑到两者的价格问题,灵越7420(酷睿i7-12700H + GeForce RTX 3050)目前的售价是8499元;MacBook Air(M1 7核GPU + 16GB RAM)的价格是9499元。从成本角度,也得在意一下两者的不均衡性。毕竟最低配的MacBook Pro 14"价格也要14999元。
以下的部分对比中,我也会加入其他媒体和评测机构已公开的M2和M1 Max跑分成绩,作为对比。但要注意,我无法确保与其他机构的跑分环境一致,援引的数据仅供参考。而且事实上,Air的跑分还是有对比价值的:包括反映macOS/苹果生态,及其实际性能。
第二,这次的对比还是涵盖了比较普适的办公、内容创作和游戏等应用。其实针对CS,我原本想测个AI Benchmark的,因为TensorFlow不都能支持M1 GPU加速了么?当时就有一大堆果粉在吹如何X爆老黄。但研究了一下,发现一套测试跑下来要好久——所以针对AI Benchmark,我未来会写一篇专门的对比文章(如果我还没被学校开除的话...)。所以感觉这篇文章有点标题党。
内部的散热用料看起来还是相当充沛
第三,灵越7420只作为载体呈现两个阵营的差异。所以我不打算把注意力过多放在灵越7420的整体体验上——其实就这款笔记本能说的点还挺多的,比如品质感不错性能释放也不错;但某些组成部分的用料诚意不足——比如2240x1400 300nit 60Hz的屏幕;还有铠侠KGB50ZNS512G的SSD固态硬盘——我用HD Tune Pro测了一下,20G+就出缓...
MacBook Air的主要配置就不列了,手边这台处理器是7核GPU版的M1,内存选配16GB,SSD 256GB,操作系统macOS 12.4。在M2版MacBook Air出来以后,M1版也没降价,挺保值...列一下这台灵越7420(灵越14 Plus)的主要配置:
▪ CPU:Intel酷睿i7-12700H(6 E-core + 8 P-core,14核20线程;P-core 2.3GHz基频,4.7GHz睿频;96EU Iris Xe核显;24MB L3 cache)
▪ GPU:英伟达GeForce RTX 3050,4GB VRAM
▪ 内存:16GB DDR5-4800(4 Bank Group)
▪ SSD:KGB50ZNS512G NVMe KIOXIA 512GB
▪ 屏幕:2240 x 1400 60Hz 14寸(标称300nit亮度,sRGB色域,来自京东方)
▪ 电池容量:64Wh
▪ BIOS固件版本:1.2.0
▪ 操作系统:Windows 11 Pro 21H2 22000.795
以下所有测试基于Windows系统设置的“最高性能”,以及My Dell应用“Power”选项选择“Ultra Performance”。(虽然好像这个设定有点问题,下文会提到)
内存,无线网卡与闪存;内存为板载8GB DDR5-4800,外加一个可扩展的内存插槽,最高支持到40GB;这个闪存给的相当没有诚意
一段Python代码测试
既然是CS学生的选择,还是得意思一下做个测试。测试用例来自一家名叫Benchmarks Game的个人blog,上面有一大堆各种各样的算法。这里选择一段Python代码——这是一段单纯针对CPU的压力测试。
有兴趣的可以点击链接自己测试,测试过程也比较简单,有Python3环境就可以。我的测试方法是在Windows 11以及macOS 的命令行终端里面敲指令来给这段代码的执行过程计时(跑20000次)。虽然要让这类测试真正有意义,恐怕还需要更多样本,但作为我们未来性能测试的示例——也算是个不错的开端吧。
这是个过程比较短的测试,所以理论上MacBook Air受被动散热(即不带风扇)的影响应该会更小。不过在代码跑起来伊始,MacBook Air的CPU封装温度就很快达到了100℃,灵越7420的风扇叶也猛吹起来。
值得一提的是,鉴于Linux操作系统(比如Ubuntu)通常在这类负载中存在效率优势,所以在Windows 11操作系统里,除了直接用Powershell来跑,我另外也特别借助Windows Subsystem for Linux(WSL)的Ubuntu来执行该测试,得到如下结果:
这应该算是个完全意料之中的结果吧,毕竟M1的CPU架构(Avalanche大核 + Blizzard小核)也有2年历史了;且基于其核心数量和规模(4大核+4小核),无论单线程还是多线程性能,放在今年都已经不大够打。
不过WSL展现出来的效率优势,还是让人慨叹:大概的确用Linux来学CS会比较好。理论上,用原生Ubuntu操作系统来执行这段代码,还能获得更高的效率。这个结果实际上也表明,“系统测试”真的并不单纯看底层硬件算力,而和平台及中间层的效率和策略也有极大的关系。
但值得一提的是,灵越7420在不插电的时候,电源策略似乎令其产生了较大程度的性能颠簸。不外接电源,在WSL子系统中跑相同的代码,耗时1分32秒,虽说还是比MacBook Air要好,但远慢于插电场景的性能。
单纯从CPU-instensive的任务负载来看,有CPU性能需求的CS学生,其实的确不应该考虑MacBook Air这类型的低压本(13寸MacBook Pro同理)。往高年级去,数据分析和机器学习愈发着重多线程性能和硬件加速,则更是如此。
今年的全能本性能发挥,差不多是这样
前菜过后,还是先来看看灵越7420这台笔记本的性能释放水平,以对其整个系统的性能发挥有一个基本的认知。毕竟当大家都用酷睿i7或i9处理器,还是会因为尺寸、散热与系统设计、调度策略等的不同,而存在性能发挥方面的巨大差异。比如游戏本的酷睿i7-12700H,和灵越7420这种偏轻薄向的全能本应用i7-12700H就大不一样。
这台笔记本标配了一个130W的电源适配器,至少表明在性能方面是有追求的。从HWiNFO提供的信息来看,Dell为这台笔记本CPU设定的PL1功耗45W,PL2 80W。为了解CPU性能释放水平,我尝试在这台电脑上跑4轮Cinebench R23(每两轮之间间隔3秒左右),并用XTU记录CPU的封装功耗与温度,得到下图:
从功耗曲线来看,第一轮测试,灵越7420的酷睿i7-12700H是可以在不到2秒的时间里触碰到80W这个功率上限的;随后会有10几秒在72W附近震荡;在67W附近又摇摆了6秒左右,一路跌到55W直至这轮测试结束。
第二轮测试能摸到75W,后续在53W附近起伏;第三轮的持续稳定状态在50W左右;第四轮的稳定状态就跌到了45W。
从单烤测试(AIDA64 FPU压力测试)来看,这台笔记本的CPU稳定状态就在45W功率水平上。
这种程度的性能释放在14寸轻薄向的全能本里算是还不错的了。只不过从温度曲线来看,灵越7420似乎一直试图将CPU的封装温度控制在80℃附近(测试环境温度:22℃),所以CPU每次刚碰到100℃温度墙,就会立刻降到80℃——第四轮测试的稳定态干脆就是在80℃水平线上,也不去碰100℃了。
这就属于性能释放比较保守的策略了,因为无论温度还是功耗都仍有余量。而且就使用体验的角度来说,键盘和掌托区域都不会有温度感知方面的压力。不过从后面的系统测试来看,性能发挥并不成为灵越7420的问题,所以这种程度的控制也没什么问题就是了。
除了CPU之外,灵越7420还有个耗电大户:GeForce RTX 3050 GPU。从单烤GPU测试(FuMark压力测试)来看,这颗GPU的功耗稳定状态就在50W左右——全能本中,这种50W的RTX 3050很常见。对CS学生而言,能配个入门光追显卡,在通用计算加速和日常游戏上,都还是相当有价值的。
双烤测试(AIDA64 FPU + FuMark压力测试),稳定状态下CPU和GPU的功耗分别为20W和50W,两者总功耗始终维持在70W的水平线上。噪声控制也还不错,双烤时笔记本内的两个风扇一起高速运转,在常规坐姿位置,人耳听到的噪声大约是46dBA。
不过我在测试中也遇到了一个小问题:单烤测试时,CPU的功耗会突然掉到了25W,此时封装温度不过65℃,风扇转速明显放缓;在1-2秒后又回到45W。这件事也出现在了我玩《原神》游戏的过程里:
以灵越7420的配置,要以高画质跑《原神》,问题还是不大的(虽然《原神》这个游戏,监控显示的60fps感知上还是不怎么流畅,可能和帧生成时间有关;私以为50W 3050以高画质玩《原神》仍然算不上好体验)。
但在某些时间点,帧率会骤降到十几帧。此时观察CPU和GPU功耗和温度,双方都在偷懒:GPU和CPU的功耗都降到了10W附近,两者封装功耗都不到60℃。
个人猜测这是Dell的电源策略问题:似乎在My Dell 应用中把电源选项设置为“Optimized”会大幅减少这一情况的发生。因为我始终把电源设定在“Ultra Performance”档,所有的测试结果可能都会受到这一问题的不良影响。期望后续BIOS固件更新能解决这一问题。
生态仍然是苹果的痛
了解完灵越7420的性能发挥水平,对跑分成绩其实也就大致有了基本预期。先来谈谈GPU部分。
GeForce RTX 3050 Laptop是英伟达Ampere架构光追卡里最入门的一款——虽然在数字上只跟3060差了10,但性能水平就要差得远了。而且要注意这是个功耗限定在50W的3050。
之前苹果一直在说M1 Max的GPU堪比RTX 3080 Laptop,M1 Ultra GPU则媲美RTX 3090。我也一直很想知道,苹果M1 GPU和最入门的光追显卡比起来性能怎么样。如果只看图形理论性能的话,大致是下面这样的:
* 注:M1 Pro与M1 Max的跑分来自PCMag
M1 GPU达到这样的3DMark跑分已经算是很优秀了,毕竟其GPU全力输出功耗也才10W。基于RTX 3050和M1的图形理论测试分,后续所有包含GPU加速的测试,都似乎可以预知结果:何况英伟达还有CUDA生态这种怪物级别的优势项。
如果加入生态差距,则碾压幅度能够在Geekbench 5 Compute渲染与Blender渲染测试里表现得淋漓尽致。而且CS专业的学生,应该也更关注GPU的通用加速性能,而非单纯的图形计算性能吧:
* 注:M1 Max测试结果来自Linus Tech Tips
实际上M1 GPU在规模上是比Intel酷睿处理器Iris Xe核显更大的,所以前面的3DMark WildLife Extreme测试,残血的M1 GPU超过Iris Xe并不奇怪。但一旦考验生态,苹果GPU就会被吊打。
不仅是M1 GPU在Geekbench 5的通用计算加速测试里被Intel核显赶超(但请注意,这是7核GPU版M1),而且RTX 3050这种入门独显在这项测试中的成绩都和满血版M1 Max差距不大——要知道灵越7420和MacBook Pro 16”这两者在产品定位、价格、GPU芯片面积方面是有巨大不同的。
与此相关的另一个测试是Blender渲染测试。此前苹果在构建其Metal生态的过程里,已经加入了Blender基金会。之前看到报道说Blender 3.1完全适配了Apple Silicon——虽然当时针对M1的Blender 3.1测试,得到的渲染成绩仍然惨不忍睹,但据说后续的补丁让M1跑Blender的效率大幅提升。
于是我下载了最新的Blender Benchmark Launcher,跑了最新的3.2.1版本,得到如下结果:
新版Blender的benchmark和此前2.x版本的差别还是挺大的,测试流程也短了很多。这个结果相当出人意料。
不知是否Blender的支持问题,或我的理解有问题。即便Blender如今的benchmark程序已经支持M1 GPU跑测试,最终其得分和用CPU跑并没有太大差别;而且连酷睿i7-12700H的CPU都不及。
我去Blender官网看了一眼,他们做了个跑分天梯曲线,M1 Max/Ultra的位置都相当匪夷所思。看样子优化还没跟上?
当然了,每次都追着Geekbench和Blender这俩渲染加速测试去做,似乎是有失偏颇的。既然苹果GPU已经在AI生态上有所进展,以后我们的测试也将会把AI Benchmark加进来——虽然感觉那是个大活儿…
但至少就目前来看,除了视频剪辑之类的多媒体创作以外,x86 PC周边生态在GPU上的显著优势仍将长期存在。这应该是在深入CS,乃至更多分支领域学习时需要考虑的问题。(虽然像CUDA这种东西不能归属于x86或Windows生态的优势项,但这里在比的是Mac与其他;而PC这一刻仍主要是x86的天下)
GPU图形计算相关的游戏测试,我也做了不少,就不多做点评了:看图即可,基本都在预期中。其中部分对比可能有变量控制不佳的问题,比如macOS版的《CS:GO》画质选择,以及不同游戏的分辨率选择在两个平台下存在少许差异——只能确保是接近1080p。灵越7420其实也不是游戏定位的笔记本,自然没有独显直连支持。
这其中的《全面战争:战锤3》是前一阵发布、专为Apple Silicon优化的——在推荐画质(应该是介于低和中画质的一种选择)1080p分辨率下,能以锁30fps的帧率来玩,体验上的确还行。只不过此处为了对比,都选了较高的画质和分辨率来跑游戏中的benchmark。前不久的M2版MacBook发布会上,Capcom也为苹果站了台,苹果的GPU游戏生态或许还有可期的余地。
GeForce RTX 3050虽说被不少数码爱好者骂得很惨,但有tensor core(DLSS)加持,大部分3A游戏降一降画质也是可玩的。像DLSS这样的超分技术,对于像RTX 3050这样定位的显卡而言的确很不错。
图形性能测试还有个SPECviewperf 2020,都是一些工业专业应用,基于OpenGL和DirectX去跑的。测试结果呈现,主要期望给出RTX 3050(50W)在这些应用中的具体性能表现,跟CS关系没那么大,不过相关专业的同学可以拿这些分数,去和其他公开的成绩作对照:
CPU性能与综合系统性能测试
其余测试项都比较常规了,主要包括CPU理论性能测试,和办公、多媒体创作的系统性能测试。好像能说的不多,主要让各位同学感知下当前两个阵营的笔记本处理器性能发挥情况:
* 注:M2与M1 Max测试成绩来自CPU-Monkey
Cinbench与Geekbench的测试结果有差异,毕竟这两者的测试内容区别还是比较大的。不过基于结果来看,Windows笔记本的性价比优势那真是相当大啊。
仍需强调,苹果M系列芯片在能效方面仍有优势,主要是整个系统处于低负载下的功耗可以很低;Intel的这代芯片虽然高负载的效率不错,但低负载区间的效率表现一般,而且System Agent功耗控制并不好,导致标压笔记本的续航似乎普遍不够出色。
反映多媒体创作的PugetBench测试对比结果还挺让我意外的,因为此前看到不少苹果用户都在说M1在多媒体创作过程里的彪悍性能,是足以比肩30系光追GPU的。但起码从我的测试来看M系列芯片在多媒体创作上也没有那么神。
虽说Adobe全家桶对苹果生态算不上友好,但macOS平台的Adobe用户应当也不少。而且Premiere Pro的测试结果总让我感觉PugetBench的测试项是否没有那么合理:因为苹果在视频剪辑与后期方面的优势似乎已经被很多人证实了。我还特意拆开看了看PugetBench Premiere Pro测试的几个分项:
* 注:MacBook Pro 16”的测试成绩来自PugetBench官网
从视频回放、后期特效等多个角度来看,M1这种小块头似乎都无法和有光追独显加速的系统相比。不知道苹果生态内的Final Cut Pro是否能够颠覆这一结果,毕竟咱也不怎么做视频。
但还要多说一句,Pugetbench当前应该是不支持Apple Silicon原生版本的Adobe全家桶的,所以这个测试都经过了Rosetta转译——基于先辈们的测试,经过Rosetta转译的PS、PR等应用性能也都还行。不过也听说原生M1支持的Adobe套装在性能上有较大程度的提升,这一点还是需要注意的。
除PugetBench测试以外,本文出现的所有涉及到MacBook Air的测试均为Apple Silicon原生支持。
最后给出办公与综合系统性能测试,包括PCMark 10现代办公和CrossMark测试(现在难得有跨平台的反映日常使用的真实场景测试):
其实就CPU与GPU性能、生态角度来看,Mac设备对我们这类人的性价比还是太差了,即便它在续航、发热以及设备外观方面还是有不小的优势。当然或许我们的对比还是太过普适了(所以有点标题党),因为苹果一直以来似乎都信奉“服务好那10%的人就好”,比如M1 Max/Pro在媒体引擎上的硬件堆料,就是要吸引媒体创作者。
其实在那10%以外,苹果芯片的性能和效率真的没有传说中那么神。有时候性能也还是其次,比如M1 Max/Ultra上给GPU堆了那么大的die size,用武之地仍然不大,也表明很多问题远不只是芯片的问题。
开题说“学CS专业”,未来的关键都在生态支持上。可能CS、软件工程什么的还是太泛,在某些计算机相关的细分领域,生态依赖问题更大,Fortran和CUDA都是其中的例子…不过我们这部分人,大概也不是苹果预期覆盖的目标群体。
- 最后统统沦为游戏本,吃鸡杠杠的。。。
- 乱写,学计算机10年前随便的老笔记本电脑就行,专注研发学习。
我老研发都行,就不相信你一学生没有高配置就不能用。 - 就怕博士都毕了业,也没充分发挥电脑的性能
- 小白表示,从来没有考虑过这个问题…