梦见掉头发机器编辑部 8 月 31 日,华为开源了编译器的源代码,与此同时编译器的开源官网也正式上线 系列手机时推出了「编译器」,它随着 EMUI 9.1 一同放出。华为表示它能够改善应用编译效率,让 APP 从原先的边解释边执行转变为全程机器码高效运行程序。
根据官网信息,编译器是为支持多种编程语言、多种芯片平台的联合编译、运行而设计的统一编程平台,包含编译器、工具链、运行时等关键部件。 编译器还在持续演进中,陆续将上述能力实现和开源。
华为表示,本次编译器开源的是编译器框架部分源码,包括编译器中间表示(IR)和语言编译实现,同时搭配编译器其他二进制组件,实现 Java 程序到 aarch64 汇编指令的编译过程。 开发者可基于开源代码+二进制,编译构建出编译器工具链,尝试对 Java 程序进行编译。
编译器能更高效地运行程序,而且如果程序本身对华为的 EMUI 和麒麟处理器进行了特别优化,显然可以获得更好性能。 华为,编译器可让系统操作流畅度提升 24%,系统响应速度提升 44%,第三方应用重新编译后流畅度可提升 60%。 这些提升,很多都是多语言统一 IR 表示及多平台支持等特性提供的。
编译器除了提升手机 APP 性能之外,或许也是华为正在为自己的操作系统、开发工具和开发语言进行技术和用户积累计划的一部分。 目前编译器的主要优势有以下几个方面:
华为开源文档表示,当前编译器支持 Java/Kotlin 程序字节码的前端输入,其它编程语言的支持(如 C/C++/JS 等)还在规划中。
编译器的中间表示(IR)转换器将前端输入转换成 IR,并输送给后端的优化器,最终生成二进制文件,二进制文件与编译器运行时库文件链接生成可执行文件,在的运行中就可执行该文件。
目前编译器的源代码已经都放出来了,但并没有在 GitHub 开源。 如下所示为开源代码的界面,里面包含了众多代码和文档等文件。
网友评论 ()条 查看