花粉乐分享平台宣传视频
> 华为资讯 > 华为资讯 > 鸿蒙编程 > 超重磅!华为「方舟编译器」源代码宣布开源,鸿蒙OS即将迎来开源时代
超重磅!华为「方舟编译器」源代码宣布开源,鸿蒙OS即将迎来开源时代
来源:第一财经广播
2022-12-02 21:51:15
486
管理

超级重磅!

8 月 31 日,华为开源了方舟编译器的源代码,与此同时方舟编译器的开源官网也正式上线。作为鸿蒙OS的重要组成部分,“方舟”的开源,也意味着鸿蒙OS的开源不远矣!

此次公布方舟编译器框架源码后,华为预计将于2020年及以后实现方舟编译器工具链完整开源。

图片来源:华为官方发布(下同)

今年 4 月,华为在发布 P30 系列手机时推出了「方舟编译器」,它随着 EMUI 9.1 一同放出。华为表示它能够改善安卓应用编译效率,让 APP 从原先的边解释边执行转变为全程机器码高效运行程序。

官方网站:https://www.openarkcompiler.cn

代码托管网站:

https://code.opensource.huaweicloud.com/HarmonyOS/OpenArkCompiler

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

华为开源文档表示,当前方舟编译器支持 Java/Kotlin 程序字节码的前端输入,其它编程语言的支持(如 C/C /JS 等)还在规划中。

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

目前方舟编译器的源代码已经都放出来了,但并没有在 GitHub 开源。如下所示为开源代码的界面,里面包含了众多代码和文档等文件。

但是世界上没有免费的午餐,这些语言要求工程师编程能力要强一点和繁琐一点,从而去规避他们的缺陷如手动或半自动释放资源。

安卓用的是有名的资源浪费的编程语言Java,但是要求编程能力不高达到快速开发。

2015年,谷歌在安卓上决定上Java已经很多年通用的预编译技术(AOT),但是我们发现安卓的实现没有以前SUN在SPARC芯片上做的好,原因之一是谷歌不做手机芯片,没法和芯片结合设计。

再说,也许浪费硬件资源,可以给芯片厂商带来产业的不断升级和收入,如CPU频率增大/核数增多,闪存/内存的增多。

但是对手机厂商就不是一件好事,因为同一的用户体验,要更加高价的硬件成本来达到。

再说但是随着半导体生产工艺的瓶颈摩尔定律失效,软件和硬件联同设计就避不开成了竞争力的保证。

那么?方舟编译器的本质和目的是什么呢?

如上所述,为了对标苹果,当初的目的是为了省内存和闪存,从而有相应性能提高,而首先尝试改变安卓上的采用编程技术,再来实现软件和硬件联同设计,如CPU的流水线和特有指令等。

从方舟编译器的开源,就可以很清晰的看到,当初决定的技术方向,就是把动态语言特性静态化在运行前预处理,这还是属于AOT范围,但是比SUN当时在Java上做的AOT激进:

把Java的字节码预编译成机器码,当然有华为自己的IR为编译转换和优化所用;

把Java的内存垃圾管理GC改成和苹果自动引用计数ARC一样。

这是不包含传统编译器:

Java编程语言解析器,负责把Java程序源代码转换成Java的字节码;

生成的机器码还是ARM 标准的指令集,没有华为芯片特定的指令;

没有自己链接器,所以没有对应的优化。

(注:具体技术细节和实现请研究方舟编译器开源网站)

可以这样理解:目前,方舟编译器已经是中国第一个能把部分核心技术自研出来并大规模商用的尝试,有着深远的意义。

作者:你发姐

编辑:杨燊

监制:王俊稷

来源:华为官网、机器学习研究会订阅号、 CSDN、36Kr

“第一财经广播”

花粉社群VIP加油站

0
点赞
赏礼
赏钱
0
收藏
免责声明:本文仅代表作者个人观点,与花粉乐分享无关。其原创性以及文中陈述文字和内容未经本网证实,对本文以及其中全部或者 部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
凡本网注明 “来源:XXX(非花粉乐分享)”的作品,均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对 其真实性负责。
如因作品内容、版权和其它问题需要同本网联系的,请在一周内进行,以便我们及时处理。
QQ:2443165046 邮箱:info@hflfx.com
关于作者
黛末(采蜜高手)
文章
534
主题
0
关注
0
粉丝
0
点击领取今天的签到奖励!
签到排行
随手拍
54个圈友 0个话题
华为手机随手拍,记录生活点滴之美好
华为P30pro
51个圈友 0个话题
这里是华为P30pro手机交流圈,欢迎华为P30pro用户进群交流
体验官
60个圈友 2个话题
华为花粉体验官,体验官专属的交流群
登录后查看您创建的圈子
登录后查看您创建的圈子
所有圈子
杭州互联网违法和不良信息举报平台 网络110报警服务 浙ICP备17046585号
0
0
分享
请选择要切换的马甲:

个人中心

每日签到

我的消息

内容搜索