测试环境:macbook pro 13, M1 16G 512G
golang release里没有m1的版本,下载x86和arm版运行提示不可用,arm版直接报错,x86 golang二进制文件运行后一直hang住,没有任何提示。go官方博客中说1.16的版本会支持mac m1,但1.16的正式版是2021年的2月份,预计会提前先放出几版beta测试版。
参考我之前的文章M1 Mac使用原生Go与开发环境 。
M1
我个人习惯使用Vim和vscode做为golang的代码编辑器,在M1下基本无问题,可以用。Goland支持当然也没有问题的。
最让人惊艳的就是散热,首先没有风扇的声音干扰太爽了。😁 就日常开发工作中,相比16寸 mac来说温度着实低些。
性能对比
全网都在鼓吹M1的性能,个人也相当的感兴趣,所以来一波简单粗暴、不可靠的压力测试。由于工作主要是基于golang开发,那么索性就测试github中较热门的benchmark。
下面是 mac m1 跟 mac 2019 16寸 i7的性能对比,分别做了5轮测试,且go test都限制为4个u,取各个平台的多次结果中较为平均的测试输出。压力测试项目用的这个 github.com/cornelk/go-benchmark 。
单单就测试耗时来说,m1是要比intel i7执行的快个14%。其实之前在两个mac上还做过 go_serialization_benchmarks 对比测试,m1耗时依然要比intel i7快12%左右。
Mac M1:
// mac m1
Mac intel i9 16G 2019 15.4寸
go test -bench=. -cpu=4
社区里其他人的测试
下面m1 vs intel的测试结果显得更加专业,文章的总结都表示M1的结果让人惊艳。但像crypto这类高度依赖指令集的代码,intel运行性能还是要高于M1处理器。
https://roland.zone/m1-go-benchmarks/
https://gohugo.io/news/hugo-macos-intel-vs-arm/
总结
Mac M1各方面还真是可以,性能压测数据也相对可观,但还是建议够买需求的朋友再稳稳。毕竟对于程序员来说,Mac是生产工具,而不是让你烦躁的发动机。要么等开发工具完美适配,要么等M2出世。
M1的发热控制的不错,在压测的几十分钟内,M1的发热要比15.4寸低一些。另外,长时间跑CPU密集运算,M1还是会有些降频的。
本文分享自微信公众号 - 晋级CTO(up_cto)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。