您现在的位置是:主页 > 手机快讯 > 荣耀 >
荣耀高层解析方舟编译器:与安卓相比具备三大优势
发布时间:2019年06月04日 16:42:31 荣耀 人已围观
简介熊军民在6月3日的知乎文章中详细分析了安卓编译器的不足之处,并介绍了方舟编译器的创新改进,逐步揭开其神秘面纱。他指出,编译器在软件运行效率和功能提升方面扮演着重要角色...
6月3日,荣耀产品总经理熊军民在知乎上发表了一篇文章,标题为《熊叔随笔:聊一聊我眼中的方舟编译器》,深入分析了安卓编译器存在的问题,以及方舟编译器所带来的改进,逐步揭开了方舟编译器的神秘面纱。
熊军民提到,编译器的功能是将“高级语言”转换为计算机或虚拟机可以直接执行的目标代码,其效率直接关系到程序的性能表现。
谷歌在过去多次对安卓的编译器结构进行了调整,从最初的Dalvik虚拟机到引入JIT,再到使用ART。在Android 7.0版本中,谷歌采用了混合编译模式,即AOT、JIT和解释执行结合的方式,以寻求安装时间、存储空间和性能之间的最佳平衡。
然而,熊军民认为目前Android仍然采用边解释边执行的代码运行方式,尽管谷歌已经多次对编译方式进行调整,但与iOS相比,仍然存在性能差距。
方舟编译器正是为了解决这一问题而生。
方舟编译器的最大特点在于其能够绕过虚拟机进行编译。作为首个完全替代语言虚拟机的静态编译器,方舟编译器根本不依赖于解释器,同时兼具Java的开发效率与C语言的执行效率。
方舟编译器相较于现有的安卓编译机制,拥有三大优势:
1. 方舟编译器采用静态编译方式,而当前安卓系统在运行应用时,需要启动虚拟机并逐条解释应用代码,消耗大量处理资源,从而降低程序执行效率。尽管有如AOT和JIT等编译技术能够将部分指令转化为机器码直接在CPU上执行,依然无法完全摆脱虚拟机,这也是当前安卓平台相较于iOS的短板。
2. 华为的方舟编译器能够将语言中的动态特性直接转换成机器码,手机在安装应用程序后能够全面提升运行速度,彻底摆脱虚拟机带来的局限,实现效率的大幅提升。
3. 方舟编译器是在开发环境中进行编译,而当前的编译过程主要是在手机上执行,造成了额外的资源消耗。
因此,华为的方舟编译器能够显著提升系统性能。
1. 在EMUI 9.1中,系统主要服务系统服务器经过静态编译后,系统流畅度提升了24%,响应性能提升了超过44%。
2. 微博极速版在实现静态编译后,流畅度提升达60%。
荣耀总裁赵明曾对此给予高度评价:“这种提升是巨大的,我们一直希望安卓系统能够超越iOS。经过方舟编译器的优化,荣耀20系列提供了媲美iPhone的用户体验,甚至在某些方面已经超越了它。”