方舟编译器是什么 如何影响技术世界

发布时间:2019-09-18 23:48    浏览次数:

你知道方舟编译器如何影响技术世界吗?

在华为编译团队开始习惯通过代码编译对软件系统进行优化提升时,这种方法论自然会被应用到更广阔的地方。到了2016年,华为智能手机业务的增长规模十分可观,同时也有越来越多人发现了安卓机制的痛点。

我们知道安卓是应用Java语言开发的,但编程者所使用的编程语言想要变成安卓执行机器语言,还需要中间一层虚拟机进行翻译,而虚拟机在执行翻译工作时又会应用多种模式。如同在河流两岸建立起一座迷宫当做桥梁,想要渡河就必须在其中绕来绕去,在这一整个复杂的过程中就会浪费大量CPU和内存资源,成为了安卓系统卡顿缓慢的终极原因。

在华为编译团队内部,专家们还一度研究究竟是对虚拟机模式进行优化,还是另起炉灶做一套能够执行Java的一套运行环境和编译器。直到Fred Chow用一篇论文终结了讨论。

Fred Chow在论文中讨论了究竟什么样中间表示是更优越的,对于IR的关注,让方舟团队意识到,是否可以有一种统一的IR,既支持多种语言的表示,又能支持后端多种芯片代码指定生成?

最终历经三年的时间,方舟编译器降临世间,其将Java/C/C++等混合代码一次编译成机器码直接越过编译器在终端运行的革命性理念,彻底告别了编译器造成的资源消耗,对安卓系统的运行效率进行了极大的提升。

至此方舟建成,才有了重建秩序的底气。

如果对华为有所了解的读者一定知道,华为对于安卓系统的深度优化其实由来已久,例如在EMUI 5.0版本中,华为就已经通过更换安卓原生的文件系统来解决安卓碎片化文件冗余的问题。但方舟编译器之所以被赋予重建技术世界秩序的希望,是因为它的意义远不止提升安卓系统运行效率。或者说,帮助安卓应用加速,只是方舟编译器帮助开发者在华为平台上展现出的第一重价值。

而第二重 方舟价值 ,来自于一个自方舟编译器出现伊始就不断被提及的词汇 开源。这意味着方舟编译器想要承载的不仅仅是一家手机厂商的软件能力承载,而是一片更广阔的天地。从这一次开源技术沙龙中,我们也能找到一些方舟编译器前行的 路标 。

例如多语言联合优化。目前方舟编译器能够支持Java/C/C++等等高级语言的转换,但当前移动编程后端+前端应用语言丰富程度极高,尽可能提高编程语言支持范围,才能让方舟编译器更好的发挥作用并且赋能更广阔的开发者群体。

以上就是小编整理的相关信息。对此,你有什么看法吗? 欢迎留言。

某某公司

咨询热线

 在线咨询  在线预约
TOP