方舟编译器是华为推出的首个完全自主研发的编译器平台,于2019年8月31日正式上线。方舟编译器已成为码云最快达成5000 Star的
开源项目。
编译器是连接人类世界与机器世界之间的一座桥梁,任何在手机上的程序都需要经历
软件开发的过程,软件开发使用的语言是易于程序员理解的高级语言,程序在手机上运行需要转换成可以高效执行的机器码,这样的转换过程就是由编译器完成的。可以说编译器是用来生成软件的软件,是连接软件与芯片的桥梁,其性能,效率直接影响到最基础的消费者体验。
安卓系统使用Java作为编程语言,易于开发,但是不会将代码直接编译成机器语言,程序运行时有相当一部分代码还需要通过手机上的虚拟机临时同步编译,影响程序执行的效率。华为方舟编译器采取了静态编译的方式,是首个取代了安卓虚拟机模式的静态编译器。
方舟编译器采用全程执行机器码高效运行程序,架构进一步得到优化,可供开发者在开发环境一次性的将高级语言编译为机器码,手机安装应用程序后可全速运行程序,带来效率上的极大提升。根据华为实验室的测试数据,EMUI 9.1在仅仅对系统组件System Server应用了华为方舟编译器后,就带来了系统操作流畅度提升24%,系统响应性能提升44%。
华为计划在2020年将方舟编译器完整开源,帮助开发者构建完整的工具链。届时华为还将提供代码调优工具,开发者可以选择根据工具的优化建议来调整自己的代码,和方舟编译器配合获得更优的执行效果。
2019年11月,在韩国首尔召开的第十八届中日韩三国IT局长OSS会议暨东北亚开源软件推进论坛上,华为OpenArkCompiler(方舟编译器)项目获得“2019东北亚优秀开源项目”奖项。