8 月最后一天,华为方舟编译器开源官网正式上线(https://www.openarkcompiler.cn/home),首次将框架源码对外开放并提供了环境配置、开发者指南、演示等资料下载。
本次开源的是编译器框架部分源码,包括编译器中间表示(IR)和语言编译实现,同时搭配编译器其他二进制组件,实现 Java 程序到 aarch64 汇编指令的编译过程。开发者可基于开源代码+二进制,编译构建出编译器工具链,尝试对 Java 程序进行编译。
根据华为公布的时间表,后续还将开源编译器前端、后端;支持 Java 程序编译、JavaScript 语言应用的编译等。现在的官网也只是方舟编译器孵化期间的网站,「正式毕业后的官网待定」。
▲ 方舟编译器框架 图片来自:方舟编译器官网
方舟编译器面向全球开发者进行开源,因此官方网站和托管平台同样向全球开发者开放,英文网站已在开发和内测中,计划于 2019 年第四季度上线。
这里有必要复习一下方舟编译器的概念。顾名思义,编译器相当于一个翻译器,将程序员编程使用的高级语言翻译成机器能懂的代码,目前 Android 系统的应用运行时主要采用边「翻译」边执行的模式,会消耗部分资源且影响运行效率,而华为的方舟编译器则优化了这个过程,在开发环境中完成全部代码编译,所以应用在运行时不需要再经过编译即可直接将操作指令送达处理器执行,给用户带来的直观感受就是系统更流程、应用运行更快了。
▲图片来自:CNBETA
根据华为实验室的测试数据,EMUI 9.1 仅系统组件 System Server 应用了华为方舟编译器后,系统操作流畅度提升 24%,系统响应性能提升 44%。
可以说,作为普通用户,我们虽然不会直接接触到方舟编译器,但却是该技术的直接受益者。
Android 版的支付宝前不久就因为更新后启动速度和响应速度大为提升,被网友猜测是采用了方舟编译器,虽然官方后来澄清是通过容器框架原生化、虚拟机调优等方式改善了使用体验,但在方舟编译器官网列出的合作伙伴中,支付宝赫然在列,此外还有新浪微博、淘宝、抖音、QQ、等常用应用共 45 个。
方舟编译器要发挥实际作用,正是需要各应用开发者的支持,如果这些大公司确实基于方舟开发出相应的版本,想必能带动更多应用「上船」,到时候消费者才能真正享受到方舟编译器带来的好处。
如果方舟编译器取得不错的效果,也有望带动华为手机的销量,目前已有多款华为和荣耀机型支持方舟编译器,当然,方舟编译器的成功无疑也将为鸿蒙 OS 打下坚实的基础。