前言

每个程序员都有自己挑选笔记本的标准,有人喜欢酷炫,有人喜欢轻薄,some prefer续航,some choose 性能。

每当你浏览知乎、少数派等论坛,你总能看到一堆人为了这个话题吵架,Mac党和Windows党;续航党和性能党;Linux神教;台式机天下第一教……等等等等。

说实话,其实大家说的都有道理,因为每个人的场景、需求、工作内容都截然不同,有不同的选择很正常,因此我也只能从我的场景出发,聊聊我的三台工作笔记本。

我的场景

我是一名国企Java架构师,我的动作内容相对单纯,看过我之前文章的同学知道,我在航空公司工作,所以很多互联网IT企业标配的Support项,我们是没有的。

从大学到工作,我一直习惯在本地运行自己的代码,通过Docker或者虚拟机快速搭建和迁移我的开发环境,所以本机性能不能太差(我理解有开发Server的同学没有这种烦恼,可是相信我,本地运行代码需求的人也不在少数,不是所有的工作环境都那么理想)。

作为一名架构主管,我的工位有大屏幕,但我在工位上的时间并不多,经常被会议占满工作时间的我,对电脑的可移动性是有要求的,所以它必须是笔记本,而且有素质过得去的屏幕,手感尚可的键盘,最好是有较强的离电性能,和坚持4小时会议的续航(我们一般不会跨半天开会,上午的会议最早8点开始,12点半结束)。

所以总结我的需求:

  • 便携
  • 离电性能强
  • 续航 ≥ 4hr
  • 屏幕素质
  • 键盘手感
  • 大内存

至于系统,其实我三家通吃,而且我的肌肉记忆也没那么强,无论是Mac、Windows还是Linux换着用,我没有那么强的不适感,所以对我来说并不在意。

我的电脑一般是以四-五年为一个更换周期,所以价格对我来说,不是很在意。

然后我是只颜狗,软粉,所以我的选择倾向很明显,甚至会开枪再画靶,请大家轻喷。

我现在用的啥?

结合以上的场景需求,我现在手里有三台笔记本支撑我日常的工作。

  • MacBook Pro 14(M1 Max残血,32G内存,1T硬盘)

大家看到这个选项的时候,一定会有“果”然如此的感觉,并有一种关闭网页的冲动,我请大家稍安勿躁,听我解释。

我一直是个双持党,Windows + Mac,至于Linux,我习惯用wsl1 + wsl2 代替。所以我的Mac和Windows笔记本都是四年一更新。

我选MBP14的原因很简单,在20年我更新了最后一代intel MBA,后面发生的事众所周知,7个月后,M1横空出世,我成了49年的那个果菌。

作为一个前硬件工程师,我对芯片性能的判断很准确,我觉得ARM再强再蹦跶,数据都是PPT,怎么可能打得过X86。

三个月后我出掉了我的MBA,M1 Max,下单!

他有着当时市面上可能是最好的miniLed屏幕,有着嗷嗷叫榨干性能仍能坚持4hr+的续航,加上几乎没有损耗的离电性能。

冲着我上述的标准,这就是我的最佳选择。

事实证明它也没让我失望,后续的性能测试中,我也会给出详细的数据。

  • Surface Laptop Studio2(i7-13700H,64G内存,1T硬盘,4060显卡 80W

去年到了我Windows笔记本的更新周期,我在调研了当时市面上几台办公旗舰本之后,发现了一个问题,包括灵耀 X Ultra,灵耀pro14,yoga pro 14s至尊版,幻14等外观能带到办公室,尺寸合适,性能释放较强的笔记本在内,都有一个致命问题,只有带着它们又傻又大的适配器,他们才有办法释放全部的性能,而我在公司和家里,用的都是雷电拓展坞95wPD供电,我需要一个PD跑满性能的Windows本,这也是为了便携考虑。

所以我转向了Surface,这个毫无性价比的选项,但SLS2,无论从纸面参数,还是实际性能释放,都让我大吃一惊。

所以我毫不犹豫刷卡下单,让他成为我的新欢。

  • 昭阳K4(i7-1260P,32G内存,1T硬盘)

公司配发,当个参考的基准线吧……

性能测试

既然是办公用本,就不得不提使用场景下的表现,其中SLS2和MBP14偶尔也会承担一些游戏的需求,后面也会补充一些说明。

我是一个Java程序员,我的日常工作就是架构设计+代码开发,所以本地编译的速度十分重要。

我选两个日常项目进行参考

  • 项目A
    • kotlin + Java8 混编
    • Gradle6.6.1
  • 项目B
    • Java17
    • Maven3

我想这俩项目能代表大部分Java码农的项目场景。

编译指令分别为:

  • gradle build -x test && gradle clean(Mac)
  • mvn package -DskipTests && mvn clean(Mac)

Windows版本的指令我就不贴了,有水字数嫌疑(笑)。

笔记本Maven编译速度Gradle编译速度
MacBook Pro14(M1 Max)62.484 s43 s
Surface Laptop Studio 2(13700H 插电)21.312 s21 s
Surface Laptop Studio 2(13700H 离电 最佳性能)30.213 s23 s
Surface Laptop Studio 2(13700H 离电 更好的性能)39.563 s39s
Surface Laptop Studio 2(13700H 离电 推荐的项目)54.138 s53 s
昭阳K4(1260P 插电)30.367 s27 s
昭阳K4(1260P 离电 最佳性能+野兽模式)35.507 s26 s
昭阳K4(1260P 离电 平衡+自动模式)37.681 s29 s

这个结果还是相当令人吃惊的,我没想到12代intel就这么强,编译速度居然比M1 Max还快,恐怖如斯。

然后我就发现我是个傻x。

因为我Mac默认的JDK1.8,是intel版本,通过rosetta2转译的,存在性能损失。

我换装了ARM64版本的JDK1.8,并重新运行了一次编译测试。

笔记本Maven编译速度Gradle编译速度
MacBook Pro14(M1 Max 插电)13.484 s23 s
MacBook Pro14(M1 Max 离电)14.184 s22 s
Surface Laptop Studio 2(13700H 插电)21.312 s21 s
Surface Laptop Studio 2(13700H 离电 最佳性能)30.213 s23 s
Surface Laptop Studio 2(13700H 离电 更好的性能)39.563 s39s
Surface Laptop Studio 2(13700H 离电 推荐的项目)54.138 s53 s
昭阳K4(1260P 插电)30.367 s27 s
昭阳K4(1260P 离电 最佳性能+野兽模式)35.507 s26 s
昭阳K4(1260P 离电 平衡+自动模式)37.681 s29 s

而我平时还会用SLS2玩玩游戏,放松一下,游戏的性能测试如图所示:

在全分辨率的情况下,开启大力水手3,光追低的默认配置,benchmark能来到72.32的平均帧数,应付日常的娱乐也够用了。

在日常游戏娱乐中,SLS2也能有超过100w的整机性能释放,这对于Surface设备的传统印象来说,可以说是种颠覆。

写在最后

从性能测试中,我的三台笔记本基本都满足了我的日常使用需求,对于网上一些Mac不适合干啥,Windows不适合干啥的言论,也基本不存在于我的场景中;在我的使用场景,三台电脑的离电性能都令人满意,而Mac的续航更是一骑绝尘。我将昭阳K4放置于工位,长时间运行一些基础软件服务;SLS2工作日随身携带,是我的办公+游戏娱乐的桌面主力设备,只需要一个PD100w的多口GaN就可以喂饱它;而MBP14则是在周末外出、回老家或者今天上班不想背双肩包的时候,扔进tomtoc斜挎包,带个小巧的60wGaN就可以出发,在路上或者去商场购物吃饭的时候方便处理紧急问题,也是我在家里的膝上影音娱乐机。利用好每台设备的特性,让设备真正服务于我们的工作和生活,我想,远比选择什么阵营,更重要。