前言
上大学之前买了台 MacBook Pro(15 inch i9 2019) 版,以为是自己买到了最佳的解决方案。作为一台笔记本,拿来移动办公自然是没有问题的,平时不动的时候外接个显示器,也能拿来当台式电脑用,毕竟 9代 i9 嘛,性能肯定不差。
没想到买回来没多久我就被这梦幻单热管坑了,特别是外接显示器的时候,高温,风扇噪声,降频接踵而至,Mac 直接卡成 PPT。毫不夸张,800MHz的i9我也是第一次见。
随着大学学习生活的推进,到了今年大二的时候因为转专业到了物联网,因为要经常开几个编辑器写代码跑编译,这个风扇噪声着实让人无语。
去年苹果发布了 M1 Mac,我就被这颗芯片吸引了,主要是它相比 x86 较低的发热量和强悍的性能😂。但是又担心兼容性问题(还有钱)所以一直也不敢买新的 Mac,只能凑合用。某一天去 frank 宿舍体验了一把 M1 MacBook Air,带了份 Vue 的项目去测试了一下编译,他的电脑当时还是装的 Intel 版的 node,结果一台 Air 居然用了40s就编译完了项目,并且全程温度不超过50°C,而这个成绩在我的 Pro 上是47s,全程温度约95°C。
于是到了期末考完第一周之后,我买到了一台 Mac Mini M1,终于结束了梦幻单热管的折磨。
开箱
我这台的版本是 16G 内存 + 512G SSD
性能
网上各路媒体早就测过 M1 的性能了,但主要就是视频渲染,很少有从一个「全栈开发者」角度去测试它的性能,甚至都找不到 Vue 前端。那么这次的我主要对比 Cinebench R23 跑分情况, Vue 项目在两台机器上的编译情况,视频渲染情况。后端因为 Go 项目在两台机器上编译速度都很快,加上我为了方便调试已经把后端放在服务器上做远程开发了,这里就不测试了。
Cinbench R23
M1 Mac 测试成绩
Vue 编译情况
这是一个 Vue 客户端渲染的项目,整个项目有1.3w行。
在 i9 MacBook Pro 上编译情况
在 M1 Mac 上编译情况
视频渲染
MacBook Pro 上的情况
用时8分25秒32
M1 Mac 上的情况
用时6分24秒25
日常使用
工作
今年参加了学校的项目,因为要兼顾前后端,所以每次开发基本上都是 WebStorm、Goland、Chrome 一起开着,然后几天不关机,这个时候内存压力就稍微大了一点,有时候内存压力会达到60%以上。我这台机器是 16G 的,建议还是 16G 起步,战未来嘛。
M1 的性能完全不用担心,发热量也很小,深圳夏天不开空调,(轻度使用)室内30度的时候机器也就是33度左右,开空调25度,机器温度30度左右。隔壁 MacBook Pro 上就是 60 度起步,还要忍受风扇狂转。
Mac Mini 的风扇基本都是最小转速,听不到噪声,很有苹果说的禅意。正常使用的流畅度已经能肉眼可见的超过那台 MacBook Pro 了,跑几个编辑器也还能流畅的运行,不发热。偶尔遇到 Jetbrains 卡顿,不过这个之前在 MacBook Pro 上也经常碰到,估计又是 bug。
冲浪
彩云天气
彩云天气在Mac上就只能凑合用,放大缩小都很难操作,定位依靠网络,有时候就不太准确,我在福田给我定位到香港,我在坪山的时候给我定位到罗湖。
微博
微博还凑合,能冲浪。
娱乐
这个 M1 有一个好,就是能装 iOS 或者 iPadOS 上的 App,当然能不能从 App Store 里下载取决于软件开发商的设置,比如小而美、王者荣耀都是无法在 App Store 上找到的。
今年奥运会,下了个央视频看奥运,感觉良好。
之前玩摩尔庄园那会还会在 Mac 上玩,支持 WASD 走位,然后鼠标控制视角、也能模拟点击,除了走位不太流畅,其他还凑合。不过这游戏 CPU 占用率是真的高,我认为是 BUG,因为之前试过两次长时间不操作 CPU 占用率降到 60%/800%,也能正常玩。
兼容性问题
M1 Mac 有 Rosette 2 的转译,可以运行绝大多数 x86 架构的程序,但是部分转译的程序能明显感觉到比原生 ARM 架构的程序要迟钝,比如 Atom 打开的时候会稍微卡顿一下,Navicat 用起来也感觉有点迟钝。
截止到2021年8月,相当数量的程序已经原生支持 arm64 架构,在我使用的情况下只有几个程序还是 x86 架构的了。
小而美跑在 Rosette 2 上偶尔会闪退,除此之外还算正常,开机四天后内存占用不到1G,还能接受。
可以在这里查看软件的兼容情况:https://isapplesiliconready.com/zh。
因为 M1 Mac 将某个 GPU 的 API 私有化导致 MonitorControl 2.x 版本失效,无法调节外接显示器亮度,最近看到作者已经发布了 3.0 的测试版,支持 M1 Mac。在这之前,我找到了 Lunar (https://github.com/alin23/Lunar) 作为替代品。
Docker 方面,虽然官方已经发布了原生的 M1 版本,但是毕竟 Docker Hub 上的镜像绝大多数都是 amd64 架构的,所以在 M1 Mac 上 Docker 使用的是 QEMU 来进行模拟 amd64 架构镜像的运行环境。那么兼容性的问题往往是 QEMU 的锅了。
我自己的小项目使用的镜像运行在 M1 Mac 启动 Chrome 时就会 Crashed,所以测试这个镜像的时候还得用 MacBook Pro。
后记
暑假这一个多月用 M1 Mac 感觉非常好。也是这9年来(2012-2021)我感觉最值的一台 Mac,毕竟我在某宝上买的时候用了7k,算是Mac 家族里比较便宜的了,但是用户体验远超那台接近 2w 的 MacBook Pro。
M1 着实很强,期待下一代的 Apple Silicon。
想不到 x86 架构的 i9 竟然比不过 ARM 架构的 M1。是因为 i9 本身性能差还是因为散热瓶颈呢?
@Tony: 散热的问题,不过i9的能耗比确实有点低
@Jacky: 看来得上水冷了😂
「CPU 占用率降到 60%/800%」
@MOLI: 这个是 Unix style
@Jacky: 8核占满是800%吧?
@Tony: 是的