华为介绍称,本次编译器开源的是编译器框架部分源码,包括编译器中间表示(IR)和语言编译实现,同时搭配编译器其他二进制组件,实现Java程序到aarch64汇编指令的编译过程。
那么,华为究竟为何要推出编译器?据了解,目前系统主要在手机上进行编译,虽然谷歌一直在不断提升原生编译器效率,比如5.0版本之前采用解释执行+方式,6.0开始尝试ART虚拟机,再之后采用解释执行+JIT+AoT综合模式。不过为了解决程序开发的兼容性问题,ART虚拟机长期存在,编译器可以通过JIT和AoT编译大部分Java语言,但对于Java的动态特性为力,仍然需要边解释边执行,这也导致了系统流畅性下降。
针对系统面临的流畅性问题尤吕后的情人其是编译器问题,华为编译器的特性恰恰能够绕过VM,消除虚拟机动态编译的额外开销,实现了开发和运行效率的兼容并举,从“边翻译边执行”到提前编译机器码,直接执行。
亮点1。首个多语言联合优化的编译器,消除了跨语言调用开销。当前大部分应用都涉及不同开发语言,不同语言形成的代码需要在运行态中进行协同从而产生额外消耗,而编译器是业界首个多语言联合优化的编译器,开发者在开发中可以一次性将多语言统一编译为一套机器码,运行时无需产生跨语言带来的额外消耗,并可以进行跨语言的联合优化,提升运行效率。
亮点4。对于开发者学习和使用成本非常低。以上这些技术亮点,均能给应用开发者带来更多优化自己应用的机会。
何事惊扰?股市狂泻逾700点 地产股“最强空头”!A股也全线”打折!五大利多败给一大利空?外资依旧“买买买”
网友评论 ()条 查看