苹果的8GB M1硅并不是魔术,而是魔术

2020-12-20 00:43:57

在我的故事《谁的确在他们的M1 Mac中真正需要16GB?》中,我反对瑞妮·里奇(Renee Ritchie)的主张,即任何有能力在购买M1 Mac时升级到16GB的人都应该这样做。我的观点是,大量Mac用户不会从购买升级中获得重大收益。我不知道为什么会为此感到不安,但以下是对此说法有疑问的人的简要总结:

8GB可以阅读电子邮件,但不适合“真实”工作。

可以使用8GB的任何人都应该使用平板电脑而不是计算机。

我当前的系统有64GB,因此无法使用M1 Mac。

从针对我的回应开始,我从事高性能网络分析软件的开发已有30多年了。我的第一台开发型计算机是具有640 KB内存的AST Premium / 286 Model 80,我用来开发网络分析仪,该分析仪可以在19KB TSR(终止并驻留)驱动程序中保持全带宽以太网的速度。在软件工程的美好生活中,我将在第48章“速度的需求”中讨论该程序的性能方面:

10 Mbps以太网的最大数据包速率是由以100%带宽利用率传输的最小大小的数据包生成的,相当于每秒14,880个数据包。幸运的是,现实世界的LAN不能保持100%的带宽利用率,也不是专门传输最小大小的数据包。这意味着即使是利用率很高的以太网LAN,平均每秒也不到5,000个数据包。今天,当您口袋里的电话具有运行于2.65 GHz的六核64位处理器时,分析起来似乎很简单。但是在1988年,企业仍在使用IBM PC XT和Intel的16位8088 CPU,其运行频率为4.77 MHz。该CPU产生0.25 MIPS的处理能力,不到现代CPU的0.001%。为了比喻说与当今的处理器相比,《永远的边缘之城》中的Spock先生,我正在努力使用石刀和熊皮来分析全带宽以太网。

为了说明这种情况的严重性,运行在4.77 MHz CPU上的LAN Patrol将只有320个CPU时钟以最大数据包速率处理每个数据包。即使是简单的指令(如短跳转)也要消耗15个时钟。乘法和除法指令分别从118和144个时钟开始。那是针对16位操作的。以10 Mbps的速度,即使32位字节计数器也将在不到一个小时的时间内溢出。 LAN Patrol将需要实现48位计数器,每次更新计数器时都需要3条添加指令。

如果您认为自己没有掌握最新技能⁴,我目前正在与一个团队合作开发可分析40Gb网络的系统。显然,我对计算机硬件和软件的性能特征有一个高于平均水平的理解。但是,无论我是否足够了解如何选择8GB M1 Mac会对性能产生影响,轻视我都不会驳斥这一论点。您的数据在哪里?⁵

而且,如果您认为具有统一内存的M1 Macs能够神奇地使它们表现为好像具有有效RAM的两倍,那么它就不会。真正的统一内存意味着CPU / GPU / ANE和所有计算引擎都可以访问相同的内存池。它具有大量的性能和效率优势,这些优势不能被夸大,但是该内存池仅限于其实际容量。现在,是的,Apple在内存压缩方面做了很多工作,以尽可能地适应RAM。借助基于预期工作模式的用于智能内存管理的机器学习以及快速的SSD,即使您不知道要寻找的内容,大多数人甚至都不知道交换正在发生,这一点是不可见的……再次,没有魔术,没有小精灵的灰尘。

如果说所有购买M1 Mac的人都需要更多RAM,即使RAM用完了,这也是Apple做出的“隐形到大多数人甚至不知道它正在发生的程度”的事件,那是一个微不足道的论点。老实说,对于第一个硬盘为20MB,3,600 RPM的Seagate ST-225,传输速率为5 Mbit / s的用户来说,无形交换确实听起来像魔术。

在我的上一个故事中,我提供了基准测试和指向实际应用程序测试的链接,认为这比我自己的测试结果更具权威性,因为我没有拥有16 GB M1 Mac mini进行正面对比。但据记录,在将其交易到Apple之前,我确实将我的8 GB M1 Mac mini与我的16GB 2018 Mac mini进行了测试。这是我的几个应用程序的Xcode构建时间:

230%的性能提升对我来说似乎很引人注目。但是,如果还不够令人信服,我起草了我的2016 13" MacBook Pro(3.3Ghz Core i7 / 16GB)重新投入使用。这款笔记本电脑是我开发系统的两年时间,直到被2018 Mac mini取代。在这段时间里,我使用PaintCode为我的应用程序创建了一个抽象背景库:

对于每种背景,PaintCode生成了数千个对UIKit的调用,这些调用主要是复杂的贝塞尔曲线路径。使用Apple的Swift 3编译器,此代码需要花费几个小时才能编译。即使笔记本电脑已更新至macOS Catalina和Xcode 11.2.1,构建时间仍为1小时9分16秒。在8GB M1 Mac mini上,构建时间为6分47秒⁷。

这绝不是要在两个系统之间进行公平的比较。相反,它表明,如果我可以在此2016 MacBook Pro上编写多个应用程序(Brain Arcade,Khroma,99 Words,Best Effort和Brain Monitor系列的Brain Game应用程序⁶),那么8GB M1 Mac mini的功能已远远超过处理我的软件开发需求。但是,我上一个故事的许多读者都回答说Xcode在8GBM1⁸上无法使用。

我的故事引起的主要争论点之一是断言,苹果的无休止的SoC进步使对未来的考验变得毫无头绪。 提出这一要求后,我听了Accidental Tech Podcast的第404集,约翰·西拉库萨(John Siracusa)建议凯西·利斯(Casey Liss)开始考虑使用六个月大的,面向未来的MacBook Pro(2.0GHz Core i5 / 32GB / 1TB SSD)(用于Apple硅Mac)。 那就是面向未来的问题,Apple一直在重塑未来。 [2]:您想伤害我吗? 如果让您感觉更好,请继续前进。 我是一个简单的目标。 [3]:拜托…这不是关于我的。 这不是关于...你。 甚至与我们无关。 [8]:我会推迟对类似事情的判断,直到事实成真为止。