国人之光,华为方舟编译器正式开源!
本次方舟编译器开源的是编译器框架的部分源码,包括编译器中间表示(IR)和语言编译实现,同时配合编译器其他二进制组件,实现Java程序到aarch64编译指令的编译过程。开源可以通过框架源码学习方舟编译器的编译器中间表达(IR)及基本的中端编译框架,熟悉方舟编译器的架构思想,并参与其中对编译器中端优化的贡献。
方舟编译器概述
方舟编译器是为支持多种编程语言,多种芯片平台的联合编译,运行而设计的统一编程平台,包含编译器,工具链,运行时等关键部件。将上述能力实现和开源。
硬件发展趋势
智能时代,万物互联,终端设备复杂多样,逐步形成以手机为中心,多设备互联互通的发展趋势。
软件生态发展诉求
终端设备多种多样,应用场景层出不穷,编程语言,运行环境变量,不同编程语言之间的互通效率持续影响应用性能,不同设备平台的差异对开发者带来不便。
方舟编译器带来的解决方案
通过多语言统一的IR表示,可实现应用中多种编程语言联合编译优化提升性能;在支持多平台的同时,根据设备特征提供便捷的开发与部署策略提升效率。
方舟编译器的优势
多语言联合
将相同应用中的不同语言代码联合编译,联合优化,消除语言间的性能“鸿沟”,降低开发者的优化成本
轻量运行时
通过编译器的语言实现能力和优化能力增强,应用运行时的额外更小
软硬件协同
编译器与芯片实现软硬件协同优化,充分发挥硬件能效,应用体验更佳
多平台支持
支持面向尖端的终端设备平台进行编译和运行,根据设备特征提供便捷的开发与部署策略,提高开发效率