最前线 | 华为方舟编译器正式开源,BAT三家应用均有合作
8月31日,华为方舟编译器开源官网正式上线,并首次开放了框架源码。
本次方舟编译器开源的是编译器框架部分源码,包括编译器中间表示(IR)和语言编译实现,同时搭配编译器其他二进制组件,实现Java程序到aarch64汇编指令的编译过程。开发者可基于开源代码+二进制,编译构建出编译器工具链,尝试对Java程序进行编译。当前,方舟编译器支持Java/Kotlin程序字节码的前端输入,其它编程语言的支持(如 C/C++/JS 等)还在规划中。
此次公布方舟编译器框架源码后,华为预计将于2020年及以后实现方舟编译器工具链完整开源。
根据官网资料显示,方舟编译器已与45多款应用合作,包括淘宝、天猫、支付宝、优酷、爱奇艺、美团、今日头条、微博、新浪、网易、腾讯新闻等主流应用,BAT三家旗下应用均有合作,不过微信不在其中。华为称将对各类流行应用进行编译优化,并在未来不久上线。
据华为CBG软件部总裁王成录介绍,华为2009年就开始为编译器做准备,2013年有了自己的编译器HCC,2014年引入了Fred Chow等技术大牛,来做华为编译器的主架构。此后,2012年实验室成立了编译器与编程语言实验室,今年4月推出了方舟编译器。
编译器是一种语言(通常为高级语言)翻译为另一种语言(通常为低级语言)的程序,可以将源代码翻译成可以被计算机或虚拟机执行的代码。华为方舟编译器可供开发者,在开发环境一次性将高级语言编译为机器码,可以让手机安装的APP运行效率明显提升。
相比于安卓原生系统,方舟编译器可以明显提升系统运行效率。首先,它是多语言联合优化编译器,消除跨语言调用开销,这是影响Android性能消耗较大的核心原因之一。其次,把虚拟机去掉了,内存回收机制。虚拟机可以帮助安卓系统适配各种处理器,实现跨平台操作,但也会占用额外的系统资源。
华为宣称,方舟编译器可将安卓应用流畅度最高提升60%。据华为实验室测试数据,EMUI 9.1在仅仅对系统组件System Server应用了华为方舟编译器后,系统操作流畅度提升24%,系统响应性能提升44%。新浪微博极速版是第一款采用方舟编译器的第三方应用,操作流畅度提升60%。
谈及华为之所以要做方舟编译器,王成录解释:“由于安卓的开放性,对上层应用没有强制规则。比如安卓的第三方应用市场非常多,数量无法统计;安卓的安装方式也非常多,通过邮件都可以安装,由此带来的问题比较多。所以安卓用户要真正能够获得好的体验,手机厂家只把手机(硬件)做好是不够的,(还需要对软件进行提升)。”
值得一提的是,华为在国内EMUI在历代版本的更新当中,除了Linux的安卓内核外,已逐步把安卓系统的很多部分替代了。方舟编译器也是其中关键步骤之一,取代了安卓原生系统虚拟机的位置。
华为此举,可以认为是将安卓系统过渡到自研系统的铺垫。在华为最新发布的EMUI 10当中,已经具备了很多与鸿蒙相似的优点,包括硬件能力互助共享、一次开发多端部署等等。如果未来进一步把Linux内核替代为鸿蒙内核,在国内市场实现平稳迁移并非不可能。
作者暂无likerid, 赞赏暂由本网站代持,当作者有likerid后会全部转账给作者(我们会尽力而为)。Tips: Until now, everytime you want to store your article, we will help you store it in Filecoin network. In the future, you can store it in Filecoin network using your own filecoin.
Support author:
Author's Filecoin address:
Or you can use Likecoin to support author: