我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:2019跑狗图高清彩图 > 元编译程序 >

华为方舟编译器深入解读:已有45款第三方应用

归档日期:09-05       文本归类:元编译程序      文章编辑:爱尚语录

  8月31日,华为方舟编译器(OpenArkCompiler)正式开源,官网已上线,源代码包、二进制包

  8月31日,华为方舟编译器(OpenArkCompiler)正式开源,官网已上线,源代码包、二进制包已提供下载,相关文档、演示等资料也一应俱全。

  本次方舟编译器开源的是编译器框架部分源码,包括编译器中间表示(IR)和语言编译实现,同时搭配编译器其他二进制组件,实现Java程序到aarch64汇编指令的编译过程。

  开发者可基于开源代码+二进制,编译构建出编译器工具链,尝试对Java程序进行编译。

  社区参与者可以通过框架源码学习方舟编译器的编译器中间表达(IR)及基本的中端编译框架,熟悉方舟编译器的架构思想,并参与诸如对编译器中端优化的贡献。

  按照华为的介绍,方舟编译器是为支持多种编程语言、多种芯片平台的联合编译、运行而设计的统一编程平台,包含编译器、工具链、运行时等关键部件,目前还在持续演进中,上述能力将陆续实现和开源。

  通过多语言统一IR表示,方舟编译器可实现应用中多种编程语言联合编译优化提升性能,而且在支持多平台的同时,根据设备特征提供便捷的开发与部署策略提升效率。

  华为方舟编译器提供了全新的系统及应用的编译和运行机制,从动态编译变为静态编译,就是直接将高级语言直接编译成机器码,彻底消除了虚拟机动态编译的额外开销,实现了开发和运行效率的兼容并举。

  将同一应用中的不同语言代码联合编译、联合优化,消除语言间的性能“鸿沟”,降低开发者的优化成本

  支持面向多样化的终端设备平台进行编译和运行,根据设备特征提供便捷的开发与部署策略,提高开发效率

  当前方舟编译器支持Java/Kotlin程序字节码的前端输入,C/C++/JS等其它编程语言的支持还在规划中。

  方舟编译器的中间表示(IR)转换器将前端输入转换成方舟IR,并输送给后端的优化器,最终生成二进制文件,二进制文件与编译器运行时库文件链接生成可执行文件,在方舟的运行环境中就可执行该文件。

  方舟编译器IR是支持程序编译和运行的中间程序表示。程序源代码中的任何信息对于程序分析和优化都是有帮助的,所以方舟IR的目标是尽可能完整详细地提供源程序的信息。

  方舟编译器的硬件配置需求不高,最低只需2GHz双核心处理器、2GB内存、200GB硬盘空间,当然要获得最高效率,更高配置是强烈推荐的。

  当前部分Java语言特性和JVM虚拟机特性的支持未包括在本次开源代码中,包括annotation、lambda表达式、泛型等。

  目前仍有很多地方不完善,会在社区陆续迭代,遇到问题请在社区提交issue。

  孵化期间,开发者可以通过如下代码托管网址获得相关代码和文档,供参考学习、了解方舟编译器的架构和代码。

  方舟编译器从2019年8月开始开源,欢迎广大的应用开发者、手机厂商、软件从业人员一起共建开源社区和生态。

  开源计划大体上这样安排:2019年8月重点开源框架部分;后续将陆续开源编译器前端、后端;支持Jav 程序编译、JavaScript语言应用的编译等。

  方舟编译器是向全球开发者进行开源,因此,官方网站和代码托管平台均面向全球开发者开放。

  目前英文版网站正在紧张的开发及内测,计划将于2019年Q4上线:方舟编译器源码托管计划是怎么的?

  在未来走向开放治理以后,将由所挂靠机构选择的平台进行托管。如果挂靠的机构采取了X平台,就采用这个机构的代码托管模式进行托管。

  方舟编译器采用木兰License,由业界众多专家和公司集体共建,并非华为主导,具体好处详见专业点评:

  从官网给出的介绍看,目前已有至少45款第三方应用支持华为方舟编译器,都是大家耳熟能详的超大用户量APP,不过尚未看到微信。

本文链接:http://rhone-credit.com/yuanbianyichengxu/663.html