媲美iOS?华为方舟编译器真有那么玄乎吗?

Posted C114通信网

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了媲美iOS?华为方舟编译器真有那么玄乎吗?相关的知识,希望对你有一定的参考价值。


自华为P30系列发布以来,火了的除了手机新品本身以外,还有近日越来越“红”的黑科技——华为方舟编译器。

那么,华为方舟编译器究竟是干嘛的?被余承东称为“安卓性能革命”的方舟编译器对于华为手机的战略发展有何意义?对于android阵营以及整个产业又将带来哪些影响呢?


传统编译器绕不过去的“坎儿”


首先,来看看啥是编译器?

按照定义:编译器是将“一种语言(通常为高级语言)”翻译成能直接被计算机或虚拟机执行的目标代码,编译器的效率将直接影响程序运营性能和效率。

简单来说,编译器就是人类和机器沟通的桥梁。比如一部手机,里面的程序是由程序员使用高级语言开发的,当我们要启动某个程序(比如打开一个APP)的过程中,编译器扮演着“翻译者”的角色,把高级语言转换成机器能读懂的机器码,并按照指令运行。

编译器如此神通广大,但在安卓的世界里,它却有一道绕不过去的“坎儿”那就是VM。VM是运行在安卓程序中的一个虚拟计算机,它还带了2个翻译——解释器和编译器。当用户打开APP过程中,虚拟机开始运行,为了把高级语言转换成机器能听懂的语言,虚拟机中有解释器和编译器两个翻译在运行;解释器好像现场翻译似的,演讲者讲一句它就停下来翻译一句给编译器听,然后编译器结合上下文一次翻译一大段内容让机器听懂。两个翻译同时发声,手机听到的内容只能是断断续续,一边翻译一边执行,这也是安卓卡顿的一个重要来源。

对此,华为消费者BG软件部总裁王成录指出,目前安卓系统主要在手机上进行编译,虽然谷歌一直在不断提升原生安卓编译器效率,比如安卓5.0版本之前安卓采用解释执行+JIT方式,安卓6.0开始尝试ART虚拟机,再之后采用解释执行+JIT+AoT综合模式。不过为了解决安卓程序开发的兼容性问题,ART虚拟机长期存在,安卓编译器可以通过JIT和AoT编译大部分Java语言,但对于Java的动态特性无能为力,仍然需要边解释边执行,这也导致了安卓系统流畅性下降。


四大亮点

从“边翻译边执行”到提前编译机器码


针对安卓系统面临的流畅性问题尤其是编译器问题,华为方舟编译器的特性恰恰能够绕过VM,消除虚拟机动态编译的额外开销,实现了开发和运行效率的兼容并举,从“边翻译边执行”到提前编译机器码,直接执行。

据王成录介绍,华为方舟编译器主要有以下四大亮点:

亮点1.首个多语言联合优化的编译器,消除了跨语言调用开销。当前大部分安卓应用都涉及不同开发语言,不同语言形成的代码需要在运行态中进行协同从而产生额外消耗,而方舟编译器是业界首个多语言联合优化的编译器,开发者在开发环境中可以一次性将多语言统一编译为一套机器码,运行时无需产生跨语言带来的额外消耗,并可以进行跨语言的联合优化,提升运行效率。

亮点2.程序运行时无需依赖虚拟机,减少了资源占用,同时实现了高效的内存回收机制。

亮点3.第三,方舟编译器可以针对不同应用灵活编译优化。

亮点4.对于开发者学习和使用成本非常低。以上这些技术亮点,均能给应用开发者带来更多优化自己应用的机会。


超越苹果三星的重要加码


用华为的话说,方舟编译器编译的应用在开发阶段就已完成。也就是说,只要是经过编译器编译的应用,在应用市场上上架了以后,用户下载的就是编译过的了。

华为测试结果显示,使用方舟编译器最终将提升24%的系统操作流畅度,提升44%的系统响应能力,以及提升60%的三方应用操作流畅度,“Android系统将比ios系统还要流畅”。这一技术将正式开源给开发者,让所有人都可以使用方舟编译器对应用预编译。

在华为看来,方舟编译器作为全新的系统及应用的编译和运行机制,从DNA层面对安卓进行了改造,解决了安卓应用边解释边运行的低效问题,让手机能直接听懂“高级语言”,可以说是近几年来安卓阵营最大的根本性革新。能够大幅降低安卓系统随机卡顿的问题,打破了人机之间的藩篱,让用户能直观感受到的就是使用体验更加持久流畅。

笔者认为,也许采用方舟编译器之后安卓系统以及应用将比iOS系统还要流畅这个说法可能言过其实,因为iPhone和其搭载的iOS系统独树一帜、在系统流畅性方面仍然领先安卓。但有了方舟编译器,安卓系统流畅性差、应用开启和运行速度势必将得到大幅提升,缩小与iOS的差距,华为也成为首家在系统层面主动寻求颠覆式创新的手机厂商。

对于志在超越苹果的华为来说,缩小安卓与iOS系统流畅性的差距,也将助力华为手机在超越苹果尤其是高端市场更进一步增加实力;而对于超越三星成为成全球第一手机厂商的目标来说,虽然方舟编译器将正式开源给开发者,使用方舟编译器对应用进行预编译的APP也可能将在其他品牌手机上适配使用,但估计华为出品的方舟编译器应该还是在华为自家的EMUI系统上更加匹配、性能才能够得到充分发挥,因此对于旨在超越三星夺冠的华为来说,方舟编译器也将成为其争冠之路上的重要砝码。


如果觉得本文有意思,欢迎点下右下角

以上是关于媲美iOS?华为方舟编译器真有那么玄乎吗?的主要内容,如果未能解决你的问题,请参考以下文章

赵明揭秘方舟编译器:让安卓流畅度媲美甚至超越 iOS

助力 Android 抗衡 iOS,华为发布方舟编译器!

安卓流畅性直逼苹果iOS?华为开源方舟编译器!

方舟编译器,吹响反攻iOS的号角

华为新发布的方舟编译器,是真牛批还是吹牛皮?

「技术解读」华为新发布的方舟编译器,是真牛批还是吹牛皮?