一文解读苹果 M1 芯片电脑上的开源软件

公众号程序猿DD

共 2100字,需浏览 5分钟

 ·

2020-11-23 23:41

点击上方蓝色“程序猿DD”,选择“设为星标”

回复“资源”获取独家整理的学习资料!

前言

上周五,我们分享了关于苹果最新的 M1 芯片不支持 Docker 容器的相关内容。如果还没读过,可以点这里:“最新的苹果M1芯片电脑别急着买,Docker容器还未能支持!

Docker 官方也对此情况给出了回应,会努力适配。其实,除了 Docker,还有许多软件目前还无法在苹果最新的 M1 芯片上正常的运行。不少网友也只能在网络上宣泄自己的不满:

那为什么 M1 芯片会有这样的情况出现呢?

首先我们要知道在苹果自主研发设计的 M1 芯片之前,市面上大多数PC架构都是Intel的X86架构,也是因为INTEL的这个X86架构造就了INTEL行业霸主的地位。

在个人电脑开始流行的这30年间,X86系统由微软及Intel构建的Wintel联盟,垄断了个人电脑操作系统这一领域,在全世界范围内形成巨大的用户群,每个人的使用习惯几乎都被固化。

同样的,x86系统的普及,使得其在硬件和软件开发方面已经形成了世界范围内统一的标准,几乎所有基于x86的硬件平台,都可以无缝连接、直接使用微软的视窗系统及现在市面上主流的工具软件。

而苹果 M1 芯片是一款基于ARM架构的产品,在 M1 芯片面世之前,市面上虽然存在一些搭载ARM架构的PC产品,但是相应的市场占有率完全无法和X86相比。搭载ARM架构的PC产品主要的缺点就是在兼容性上表现太差,这个正是X86系统的优势所在,导致很多日常常用的软件根本无法安装运行,极度影响用户体验。

现状

苹果自然考虑到这样的情况,在WWDC20开发者大会上已经公布了Rosetta 2,可自动转译现有Mac App,最终允许ARM架构的 M1 芯片运行x86_64架构指令的APP,看似可以使搭载 M1 芯片的Mac产品与intel版Mac应用完美兼容,但实际这种方式并不能保证性能和速度。Samuel Attard,Electron 项目的维护者之一 ,就曾指出 “尽管 x86_64 Electron 应用程序可在 Rosetta 2 下运行,但其性能将大大降低。” 他给出的终极解决方案就是构建 ARM64 的二进制版本。

除此之外,苹果早在7月份就被相关工程师爆料,阐述其正着手对30个常用软件构建 Apple Silicon Mac 支持,其中包括 Node,Python 3,Go,V8 等耳熟能详的名字。而作为现在主流的浏览器,谷歌Chrome浏览器也在周二发布了带有Apple Silicon 支持的 Chrome 87。

优势

ARM架构,虽然在兼容性上尚有很大提升的空间,但是其一直以来相比X86架构的优势在于功耗。尤其是近年来移动端业务的发展诉求,其在低功耗、低成本的优势逐渐显现。根据网络消息,苹果 M1 芯片的单位生产成本在40-50美元之间,而购买INTEL酷睿i5处理器的成本在175-250美元,同比增加5倍左右。如果继续采用INTEL处理器,苹果未来几年在MacBook Pro和MacBook Air的花费将达到32亿美元之多。但如果采用相同数量的M1 芯片,花费只有6.97亿美元,精明的库克肯定不会看着这个数字无动于衷。另外一个深层原因,苹果从此可以逐步脱离intel的限制,不用在看其脸色办事,或许这个才是苹果迫不及待推出M1 芯片的真实原因之一。

未来

正如本文开头所说,M1 芯片的路还很长,很多软件还未完成对他的支持。

例如:

甲骨文一直还没有决定,是否要将其开源的x86虚拟机 VirtualBox 移植过来。

MAC必备神器之一Homebrew还没有过渡到 Apple Silicon。Gradle,Maven 和 Jenkins 等大约十多种OpenJDK的软件包同样不支持 Apple Silicon。

而在某些领域被广泛使用的 Fortran 90 编译器,也还没有支持 Apple Silicon,导致依赖着该编译器的R 语言暂时还不能在Apple Silicon 上本地运行。

前文提到的Go,其开发团队在11周年庆中透露,要等到明年发布的1.16版本中,才会加入Apple Silicon 的支持

你觉得苹果 M1 芯片电脑的前景如何?你是否会去购买相关产品?欢迎留言进行讨论!

DD自研的沪牌代拍业务,点击直达



【往期推荐】


收入最高的 24 个开发人员职位

2020-11-22

索赔 100 万!只是因为一个开源插件?

2020-11-21

快速搞懂监控、链路追踪、日志三者的区别

2020-11-21

读完《Effective Java》后,总结了 50 条开发技巧

2020-11-20

35岁之后,你还会继续写代码吗?

2020-11-19



扫一扫,关注我

一起学习,一起进步

每周赠书,福利不断

深度内容

推荐加入




浏览 20
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报