從年初開始,我就以在職狀態修計算機科學(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年前隨便的老筆記本電腦就行,專注研發學習。
我老研發都行,就不相信你一學生沒有高配置就不能用。 - 就怕博士都畢了業,也沒充分發揮電腦的性能
- 小白表示,從來沒有考慮過這個問題…