任正非投放了“范弗里特弹药量”的项目战略意义非凡

简介:今年4月,当华为推出方舟编译器时,曾经在业界引起了不小的轰动,但普通人由于技术的原因,对此并不了解。从战略上来看,华为方舟编译器战略意义非凡,对华为的全球战略有着重要的推动作用。

在华为遭到美国制裁之前的4月11日,离孟晚舟女士被捕的5个多月后,华为在上海的新品发布会上,除了推出备受瞩目的“能够拍摄月球”的华为旗舰P30系列之外,还推出了方舟编译器和 EROFS 超级文件系统。

方舟编译器在业内被关注的程度,甚至超过了P30系列,华为方舟编译器可以实现“架构级优化和显著提升性能”,可以解决安卓程序“边解释边执行”的问题,从而被余承东称之为 “安卓性能革命”。

对使用者而言,最简单的感受就是:以前使用Android手机卡顿的问题,华为可以解决了,以前Android系统慢于IOS的问题,通过华为的编译器技术,将无限接近IOS,甚至部分性能超过IOS。

这对于Android系统而言,无疑是一个巨大的进步,卡顿这一最大的痛点被解决后,Android系统的优越性无疑将会更加突出。

我们用简单的语言来大概说一下这项技术,如果不感兴趣的朋友,可以直接跳到下一段。

当前的Android应用,绝大部分都是用Java语言编写的,但计算机的CPU只能理解底层机器语言,因此,需要通过一些方法,把Java转变成机器能够读懂的机器语言。

当前的解决方案主要有两种,一种是用一个中间翻译层,执行程序时,每执行一段Java,就翻译一下,然后让CPU去执行,这种方法会造成极度的卡顿,在Android5.0之前,都是采取这种方式,那个阶段Android机器被骂成丝机也是正常的,确实流畅性跟IOS差的不是一点半点。

另外一种就是把Java直接翻译成CPU能理解的语言,这种方案中,又分为执行程序前(Ahead of time,AOT)翻译,和执行程序后(Just in time,JIT)翻译两种模式,基本上谷歌从5.0之后,在谷歌推出了ART(Android Runtime)之后,就是在做AOT和JIT两种技术路线的优化,目前的版本是 JIT + AOT 的综合模式。

但Java有一个特点,Java并没有直接将高级语言编译成机器语言,而是编译成了一种中间语言,这种语言没有Java的虚拟机是无法翻译的。

所以,不管谷歌怎么优化,都逃不过Java虚拟机这一关,相当于从Java到机器语言,中间逃不过一个翻译做传声筒,这自然就会降低Android的体验速度,且在谷歌当前的AOT和JIT技术路线上是无法避免的。

简单说,就是在应用程序安装之前,已经通过华为的方舟编译器,变成了机器语言,下载到手机上的,直接就是机器能读的语言,从而绕开了Java的坑,理论上,这种方案将会使得应用程序的打开和使用速度出现大幅的提升。

从华为公开的数据来看也是如此:系统操作流畅度提升24%,系统响应速度提升44%,第三方应用操作流畅度(以微博极速版为例)提升60%!这个成绩足够惊艳,已经达到甚至超过同级别的苹果手机的水平。

不仅如此,方舟编译器对于不同语言编写的程序,都将转变成同一种机器语言,便于高效执行,而对于代码而言,方舟编译器由于是在应用开发阶段进行编译,所以可以允许不同应用灵活采用不同的编译优化方案,而且因为在开发环境编译不会受到手机性能的限制,可以使用更多先进的优化算法,从而使得每个应用的性能达到最佳,大大优于当前动态编译时的简单优化算法。

此外,方舟编译器提供了更高效的内存回收机制,随用随回收,无需暂停应用,解决了虚拟机执行全局回收时需要暂停应用从而造成卡顿的问题。

总体而言,华为的编译器将可以在应用程序上架Android之前,先将其翻译成机器语言,然后在手机上下载后,直接就可以被机器所读懂,不需要通过中间的虚拟机来翻译。从理论上来说,在当前手机存储大幅增加的今天,这种方案无疑是当前彻底解决Android系统卡顿问题的最佳方案。

这套方案的开发并不容易,华为早在2009年就组建了编译组,并且在2013年就推出了自研的编译器HCC,到了2014年,斯坦福大牛周志德(Fred Chow)加入华为,成为华为编译器技术首席科学家,当年,华为招聘了包括清华和中科院在内的大批博士生,迅速推进了华为的编译器项目。

根据网上的资料显示:周志德是美国劳伦斯利弗莫尔国家实验室启动的“S-1””超级计算机项目编译器的主力研发之一,于1977-1983年在斯坦福读博,毕业后先去了Daisy Systems,该机构与世界上最早的(之一)商业EDA公司——Valid Logic Systems齐名。

之后,周志德先后进入MIPS和SGI任职,在SGI期间领衔开发出Pro64编译器,后来演化为著名的Open64编译器。因此,周树立全球编译器顶级权威地位,成为编译器领域的顶级大佬。之后大佬开办了几家公司,直到2014年加盟华为。

可以说,华为为了这个编译器,请到了华人中该领域最强的专家,并且使用了大量清华和中科院的博士来完成这个项目,十年磨一剑,在中美贸易摩擦的关键当口推出,具有重要的战略意义。

华为在 4 月 11 日的发布会上表示,华为将在 2019 年 8 月的华为终端开发者大会上宣布方舟编译框架代码开源,在 2019 年 11 月的绿盟开发者大会上实现完整方舟编译器代码开源。

任正非曾说:“ 我们的(研发)标准是,在距离我们目标二十亿光年的地方,投一颗“芝麻”;距离目标两万公里的地方,投一个“苹果”;距离目标几千公里的地方,投一个“西瓜”;距离目标五公里的地方,我们投“范弗里特弹药量”,扑上去、撕开这个口子,纵向发展,横向扩张,产品就领先世界了。”

方舟编译器,无疑就是在投放了“苹果”和“西瓜”之后,在2014年开始投放了“范弗里特弹药量”的那个项目。

在孟晚舟女士被捕后,极为敏感的华为已经意识到了美国可能的制裁,并选择在2019年4月宣布推出方舟编译器,年内实现全面开源,这有着极为重要的战略意义。

在4月的华为P30系列手机的发布会上,华为表示,EMUI 9.1仅仅在对系统组件System Server应用了华为方舟编译器后,就使系统操作流畅度提升24%,系统响应性能提升44%!而采用了方舟编译器的极速版微博,则流畅程度大幅提升60%。

也就是说,即便全球的其他应用不采用方舟编译器,华为手机自身使用方舟编译器之后,就可以使得系统流畅度和相应性能大幅提升。如果应用程序使用了方舟编译器的话,流畅程度将会出现远高于当前的提升,这种竞争力是相当恐怖的。

下图是微博极速版在打开图片时,使用了方舟编译器的华为P30 Pro和同档次的三星Galaxy S10+的运行速度对比,肉眼可见,华为的打开速度有非常明显的优势:

一旦应用程序加入华为的开源体系,华为通过后续更新系统,并在应用市场中更新该应用程序,用户的使用体验将会实现大幅度的提升,其中相当一部分的应用程序达到甚至超过苹果IOS的体验将会成为可能。

一旦出现这样的情况,将会首先使得国内的手机厂家不得不跟进加入华为的方舟编译器开源联盟,否则即便应用程序使用了方舟编译器编译,但在系统本身由于没有对类似System Server进行编译,将会在性能和流畅度上被华为碾压。

而全球其他地区的华为中高端手机用户,比如Mate系列和P系列的手机用户,也将有可能通过华为的系统更新,获得最新的EMUI 9.1系统,从而大幅提升当前的使用流畅度,同样的,如果三星等主要竞争厂家不跟进的话,在国际市场上的竞争力也将会被碾压,当然,前提是华为没有正式受到Android的限制制裁。

而国内这些厂家,在全球的拓展力度是非常强大的,目前全球手机市场处于平稳甚至下滑的状态,但国内厂家在国际市场表现良好,如果华为被限制,那么小米和OV们将会迅速补上,实现突破。而如果他们在国内使用了方舟编译器,在国外也没有理由不继续使用。

这些“中国队”进入国际市场后,采用方舟编译器将会表现出比国际同行们更加强大的性能,国际竞争力将会得到提升,如果国际同行们不加入方舟编译器的开源联盟,将会迅速被“中国队”击败。

这实际上是一个非常有意思的连锁反应,通过华为去推进,倒逼国内手机厂家跟进,通过国内手机厂家在国外的推进,倒逼国外手机厂家的跟进。

除非Android把所有国内的手机厂家给禁止了,否则将很难阻挡方舟编译器全球开源联盟的形成。实际上,除非美国能让全球所有的应用程序都禁止使用方舟编译器,否则无法阻止方舟在全球的拓展。这个开源联盟,将使得华为为首的中国手机厂家处于食物链的顶端。

此外,使用方舟编译器的华为手机,还会与华为麒麟芯片进行融合,鸿蒙操作系统、麒麟芯片以及方舟编译器的组合,将会产生强大的竞争力,在系统整体性能和人工智能方面很有可能会总体超过苹果,成为世界最强的手机解决方案。

我们在上一篇文章《华为的鸿蒙操作系统还推不推?》中认为,鸿蒙操作系统可能会延缓,至少不会大规模去推,华为还是会希望和谷歌进行合作,在全球继续使用Android系统。

但这里华为并不一定会处于完全劣势的地位,除了市场方面的互相需要之外,方舟编译器也将会起到较大的作用。

按照我们上面的描述,方舟编译器将会避开Java虚拟机,直接在程序层面就完成了机器语言的翻译和优化,从而能够让应用程序以最快的速度被机器所读取,以解决当前的卡顿问题。

如果全球主流的应用程序厂商都使用了方舟编译器,那么用户在习惯于方舟编译器为应用程序带来的流畅感时,他们会不会想回到不那么流畅的过去呢?

在当前贸易摩擦的当口,国内的主流应用程序使用方舟编译器应该不会有太大的问题,而这些公司的产品中,不少在海外都已经有了广泛的应用,比如海外版的抖音Tiktok,经常处于海外下载榜总榜的前三位;UC浏览器,在印度和东南亚应用广泛,并且在迅速推向其他地区;茄子快传SHAREit,在网络不是那么发达的地区使用量惊人;猎豹公司的各类工具,在海外也有广泛的下载;AliExpress在全球电商领域也在逐步扩大市场份额,等等。

这些应用程序将会让国外的Android手机使用者使用后发现明显比没有采用方舟编译器的产品要快得多,从而形成用户的口碑。

如果再鼓励包括美国在内的其他各国开发者加入到方舟编译器的开发者中,通过一定的努力,华为的方舟编译器未必不能形成一个囊括全球主流应用程序的编译器,届时,方舟编译器的作用,将隐隐和Android系统平齐。如果能鼓动谷歌和Facebook等美国主流厂商使用,对于华为未来的竞争将会更加有利。这并非不可能,印度的操作系统KaiOS在形成了亿级的用户量后,目前就获得了美国主流产品的全面支持,包括谷歌。

美国可以制裁华为,但不能禁止全球开发者利用开源的方舟编译器把应用程序转变成机器语言的格式吧!况且这些开发者做了这个改动后,程序在Android机器上将不再卡顿,尤其对于一些体量较大的程序,这简直就是雪中送炭的好事情。

也就是说,未来通过一段时间的努力,华为的方舟编译器有可能会成为全球主流的应用程序编译器,使用方舟和不使用方舟的产品将会出现较为明显的速度差距,这会促使全球主流的应用程序都使用类似的编译器来形成机器语言,但鉴于产品的研发难度和华为申请的大量知识产权,预计几年内不会有能与华为抗衡的同类产品出现。

换句话说,美国就算制裁了华为手机,也很难制裁住华为的方舟编译器,而一旦全球主流产品都使用方舟编译器,华为将可以在后续的更新中进行引导,一步一步往华为需要的方向进化并申请大量的专利形成壁垒,不知不觉中,华为的生态系统就会建立。

方舟编译器不仅支持所有安卓系统,更可以支持跨平台的使用,包括ARM平台、x86平台的硬件产品都可以使用,这就为万物互联的物联网时代打下了基础。

我们在上一篇文章中分析过,鸿蒙操作系统在当前的手机操作系统中,除非美国制裁已经到了铁板钉钉的状态,否则是不会轻易大规模推出的。

但在下一代以物联网、车联网、新型移动设备(如HoloLens等)为主的操作系统中,鸿蒙将有可能会大放异彩。因为这些领域的生态圈并没有形成,鸿蒙还有很大的机会去建立生态,并成为全球主流的操作系统。

看似人畜无害的方舟编译器,在进化到一定程度后,将会对全球主要的应用程序形成影响力,配合华为在5G方面的能力,适应于5G的优化将会比Android和IOS要强的多,而这些程序在鸿蒙操作系统中,不仅将体验到比Android更快更顺滑的体验,而且还能够无缝在各类硬件设备中使用,不用再做二次开发,物联网时代,鸿蒙实现弯道超车的可能性将会大幅提升。

当然,在当前全球竞争的情况下,不太可能有一家公司的一个操作系统垄断的情况出现,方舟编译器由于是直接将高级语言翻译成低级的机器语言,基本上将可以适用于未来所有的操作系统,这对于华为甚至国家战略而言同样重要,毕竟,万一再面临制裁的时候,我们也会有可以制裁别人的地方。

根据中国开源软件推进联盟名誉主席陆首群的介绍,谷歌的最新一代操作系统Fuchsia 采用微内核,鸿蒙采用宏内核(Linux)。Linux 基金会内核维护者、院士 Greg KH 认为 Fuchsia 由于采用微内核,比“鸿蒙”采用的 Linux 内核其运算速度要慢得多!另外,通过方舟编译过的Android应用程序,有可能可以和苹果的IOS APP直接兼容,这将为开发者省下大笔的费用,同时,也意味着苹果手机也有可能加入方舟编译器的联盟。

方舟编译器对于华为而言有着重大的战略意义,是其在被美国制裁之前就强力推出的产品,并会在今年实现完全开源。

对于华为而言,其战略意义在于:能够推动全球手机厂商加入方舟开源联盟,推动全球主要应用程序加入方舟开源联盟,并推进自身鸿蒙系统在未来物联网时代的弯道超车,从而让自身站在食物链的顶端。此外,方舟战略如果成功,对于华为在云以及未来产业互联网领域的发展,也都会有积极的促进作用。

方舟的升级和发展甚至可以影响整个产业的发展,让中国也拥有一个反贸易掣肘的武器。

当然,发展过程中会有很多的不确定性,比如说,全球的同行们也会研发类似的,甚至其他技术路线的产品,华为的专利壁垒以及后续对于技术的不断优化和全球的推进程度,都会影响其战略的实施和布局。