方舟编译器火了,华为在底层重造安卓系统,目标超越苹果iOS

栏目: 服务器 · 编程工具 · 发布时间: 5年前

内容简介:在华为P30系列手机的发布会上,有三页PPT,是讲方舟编译器的。这三页内容,在P30系列手机的光环下并不出众,但却堪称是一场安卓的性能革命,将颠覆安卓系统的体验。最近,我与华为消费者BG软件部总裁王成录博士进行了深度交流,试图了解方舟编译器、EROFS超级文件系统以及华为消费者业务软件业务的最新动向。

在华为P30系列手机的发布会上,有三页PPT,是讲方舟编译器的。这三页内容,在P30系列手机的光环下并不出众,但却堪称是一场安卓的性能革命,将颠覆安卓系统的体验。

最近,我与华为消费者BG软件部总裁王成录博士进行了深度交流,试图了解方舟编译器、EROFS超级文件系统以及华为消费者业务软件业务的最新动向。

方舟编译器火了,华为在底层重造安卓系统,目标超越苹果iOS

方舟编译器: 在底层重造安卓系统体验

据王成录透露,在方舟编译器发布当天,电话被打爆了,业界的开发者都高度关注。

为什么会这样?因为方舟编译器是对安卓底层机制的重构,给用户体验带来的提升是颠覆性的。

它解决的是安卓手机上最大的痛点:“卡顿”。编译器,就像是人类和机器沟通的桥梁,承担着将高级语言“翻译”成机器能懂的机器码,并按照指令运行。但是,在安卓系统中,编译器却有一个绕不过的坎儿:虚拟机。安卓系统虽然在不断演进,但始终需要虚拟机来实现解释和执行。

用翻译的方式来比喻,更容易理解。安卓程序的虚拟机中有解释器和编译器,相当于是有两个翻译在运行。解释器好像现场翻译,演讲者讲一句,就需要停下来翻译一句给编译器,编译器则结合上下文一次翻译一大段。两个翻译同时在搞,于是你听到的内容就是断断续续的,你的系统就会变得非常卡顿。

而且,虚拟机的统一回收内存也是卡顿的罪魁祸首之一,Java的虚拟机模式提供了内存GC(垃圾回收)机制,内存垃圾是集中回收,但全局回收时需要短暂中断应用,成为随机卡顿的根因之一。

那么,方舟编译器带来的颠覆在哪里呢?首先,方舟的内存回收机制是随用随回收,回收时无需暂停应用,因内存回收的随机卡顿就消除了。其次,方舟编译器是在应用打包的时候直接编译出了机器指令,无需繁琐的虚拟机运行,彻底消除了虚拟机的动态编译的额外开销,从边翻译边执行到提前编译机器码直接执行(运行时无需再编译),大幅提升了效率,让性能得到大幅提升。

用量化的方式可以很好地看到这种性能提升的效果:有了方舟编译器的手机,能实现系统操作流畅度提升24%,系统响应性能提升44%。

方舟编译器火了,华为在底层重造安卓系统,目标超越苹果iOS

能实现这样的效果,方舟编译器的内存回收机制也功不可没。原来虚拟机的内存回收是统一进行的,全局回收时需要暂停应用(导致卡顿);而方舟编译器则是内存随用随回收,回收时无需暂停应用,显然能够避免卡顿。

方舟编译器看起来深奥,但是对应用开发者和用户来说却很简单。王成录说,对于应用开发者无需修改代码,只需要用方舟编译器重新编译,就能带来性能的提升。对于用户来说,只要在应用市场下载编译过的应用,就直接能享受到性能提升的好处。

方舟编译器火了,华为在底层重造安卓系统,目标超越苹果iOS

重新编译,会带来应用安装包和安装后占用空间的增大,以微博极速版为例,安卓9.0的apk是9.7Mb,安装后是37.5Mb,而使用方舟编译器后的安装文件apk是23Mb,安装完后大约不到50Mb。但是,使用方舟编译器后的性能提升却是颠覆性的,微博极速版的操作流畅度提升了60%!

一句话,方舟编译器给安卓程序的性能提升结果非常显著。这个性能提升可以用应用执行时间来衡量,而应用执行时间=应用执行指令总条数X平均每条指令所用CPU cycle数/ CPU频率,CPU频率由手机硬件决定,方舟编译器可以实现平均每条指令所用CPU cycle数更少、应用执行指令总条数更少,从而带来更快的应用执行时间。

同样用翻译来比喻这种编译带来的性能提升。““What happens in Vegas, stays in Vegas”如果比作最初的应用,如果不编译,翻译可能是“在拉斯维加斯发生的一切,就留在拉斯维加斯”,而方舟编译器编译带来的则是“勿念过往 活在当下”,显然要好得多。

板凳要坐十年冷,优化安卓系统是持久战

方舟编译器火了,但是宝剑锋从磨砺出,梅花香自苦寒来,这一切,来自于“板凳要坐十年冷”的坚持和努力。

王成录透露,早在2009年,华为就创建了编译组,因为海思做了芯片以后,需要有自己的编译器才能真正发挥芯片的能力。从2013年开始,华为推出了自己的编译器HCC,用在基站领域,这可以说是方舟编译器的前身。到了2014年,以Fred Chow等为代表的众多技术人才加入,在2016年华为成立编译器与编程语言实验室,一直到现在推出方舟编译器。

方舟编译器火了,华为在底层重造安卓系统,目标超越苹果iOS

编译器作为系统软件,真的是一个“板凳要坐十年冷”的工程,稳得住才能做下来,非常的复杂。

王成录感慨地说,中国有众多软件研发人员,但国内一直缺乏领先的系统软件,因为大家基本上都集中在应用软件领域,我希望中国的软件人员能共同努力,能把中国的系统软件做好,中国软件未来的希望,是一定要有自己的系统软件,这样中国的软件行业才能真正做强做大。

事实上,回顾华为EMUI系统的发展史,就是一部安卓系统的优化史,也折射出华为“板凳要坐十年冷”的精神。

从EMUI5.0系统的“天生快,一生快”,到EMUI8.2的GPU Turbo,到EMUI9.0的Link Turbo,再到现在的方舟编译器以及EROFS超级文件系统,都是如此。

方舟编译器火了,华为在底层重造安卓系统,目标超越苹果iOS

说到这里,要多说几句EROFS超级文件系统,这也是和方舟编译器类似的底层颠覆性技术。EROFS超级文件系统使用专利压缩算法,几乎不存在无效读取。它让随机读性能提升了20%,系统可用空间多2GB。而且,只读设计,让系统分区更加安全。

方舟编译器火了,华为在底层重造安卓系统,目标超越苹果iOS

王成录说,我们每走一步,大家看到的是发布黑科技,但华为不是无意为之,我们一直在围绕性能这条线找最主要的矛盾,去解决。例如,EMUI5.0解决的是最核心的卡顿问题,GPU Turbo解决的是游戏流畅度问题,Link Turbo解决的是网络连接问题等等。

那么,现在最新的EMUI系统和iOS相比处于什么状态呢?王成录说,EMUI9.1的DNA和iOS已经几乎一样,目前EROFS文件系统、通信、连接模块已经领先iOS,未来,EMUI会有更多模块追赶iOS,甚至超过iOS。

后记: 未来更是一场生态战

诚然,安卓系统要想真正超越iOS的体验,需要有两个战场,一个是深度技术的创新战场,另一个是开放生态的生态战场。

一方面,通过方舟编译器、EROFS超级文件系统、Link Turbo、GPU Turbo等一系列的深度技术创新,华为的EMUI系统正在接近,甚至在某些方面超越iOS的体验。

另一方面,华为也在开放生态上进行布局。以方舟编译器和EROFS为例,华为都选择了向业界开源。据了解,方舟编译器将在今年8月举行的华为终端开发者大会上对框架代码开源,开发者可以研究参考;将在今年11月的绿盟开发者大会上将完整的方舟编译器代码开源,开发者可以编译使用。

方舟编译器火了,华为在底层重造安卓系统,目标超越苹果iOS

王成录说,方舟编译器是个通用技术,目前是基于ARM指令集开发的,适用于所有ARM芯片平台,不限于安卓;可以适用ICT行业。未来可基于具体芯片指令集进行开发。

甚至所有的安卓手机厂商都将从中受益。方舟编译器编译过的应用,可以适用于其他安卓手机,这让其他安卓手机用户也将获益匪浅。

这点听上去有点“无私”,但仔细思量,却是付出即收获。安卓手机的整体体验比苹果要好,有利于包括华为在内的所有厂家。“实际上做这件事情,只靠华为一家不可能实现,我们非常希望Android阵营所有合作伙伴一起努力,这是华为将方舟编译器向业界开源最核心的原因,希望大家将这个编译器从各自场景、各自平台,不断去打磨它,才能实现最终给用户带来最好体验的理想目标。”王成录如此说。

安卓系统因为华为的参与,正在变得越来越好,这中间不仅有努力,更有决心。王成录透露,文件系统F2FS在EMUI 5.0更换时,自己在内部签了军令状,因为这个工作实在是风险极大,但是华为内部做了大量的测试,才让这个更换工作有惊无险。“简单来说,三年前,我们70%的东西是跟随Google,他们做了很多贡献,我们受益很大,但是今天我们也有很多创新点反哺给原生安卓系统,包括我们的F2FS、无线投屏等创新技术点都有反哺原生安卓系统,使安卓变得更好。”

未来的华为EMUI系统将是什么样?除了深度的技术创新,也在走向开放的生态。其一,是让业务更丰富,AI就是其中的典型,华为从做AI的第一天起,就把AI所有能力开放给第三方,使能现在的应用更丰富更强大;其二,是让体验变得更流畅,方舟编译器、Link Turbo等也在走向开放;其三,是走向全场景体验,从手机到手机与PC的连接、手机与车的连接、手机与跑步机的连接等等。例如,在最近上海车展上,华为车联网战略中的HiCar就是如此。

方舟编译器火了,华为在底层重造安卓系统,目标超越苹果iOS

所以,方舟编译器、EROFS超级文件系统等颠覆性的技术创新,只是华为在软件领域不断突破和努力的缩影。华为正在凭借自己的技术实力和不断努力,重造安卓系统的体验。

除了硬件的技术突破,软件也在用户体验中扮演越来越重要的角色。这就是软件的力量,通过持续的技术进步,持续的生态开放,让消费者感受到,华为的产品体验在进步,安卓系统的体验在进步。

方舟编译器火了,华为在底层重造安卓系统,目标超越苹果iOS


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Numerical Linear Algebra

Numerical Linear Algebra

Lloyd N. Trefethen、David Bau III / SIAM: Society for Industrial and Applied Mathematics / 1997-06-01 / USD 61.00

Numerical Linear Algebra is a concise, insightful, and elegant introduction to the field of numerical linear algebra.一起来看看 《Numerical Linear Algebra》 这本书的介绍吧!

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具