方舟编译器开源,华为自家开源平台面世!(附编译过程)

HarmonyOS实战开发-方舟运行时使用指南 方舟编译器(ArkCompiler)是为支持多种编程语言、多种芯片平台的联合编译、运行而设计的统一编译运行时平台。 阅读详情

​
在这里插入图片描述
大数据文摘出品

作者:曹培信

8月9日,华为EMUI官方微博发了这么一条微博。

在这里插入图片描述

对奉行实用至上的程序员来说,Linux的创始人Linus Torvalds的名言“Talk is cheap,show me the code.”这句话确实是戳到了心里。

8月31日,华为如约开源方舟编译器,并将源代码放出。然而开源并非是在GitHub上,而是自建了一个“华为开源平台”。

这意味着华为自己的开源平台也一并问世。

坊间猜测,这是由于7月底GitHub封禁了一批伊朗账户,让华为意识到了将方舟编译器和鸿蒙系统在GitHub上开源的风险,因此赶工赶出来一个开源平台。

在这里插入图片描述

目前平台上只有两个仓库,一是HarmonyOS/OpenArkComplier,另一个是测试用的example。

在这里插入图片描述

难怪有人表示:“这是我见过的最简洁的网站了”。

在这里插入图片描述

同时,华为还在码云(gitee)上建立了方舟编译器开源代码官方镜像仓库,如今标星已达3.6k。

打响了鸿蒙OS开源的第一枪

8月9日,在广东东莞举办的华为开发者大会HDC.2019上,华为消费者业务CEO余承东正式发布了鸿蒙HarmonyOS,并宣布鸿蒙OS全部开源!

次日,华为消费者软件副总裁刘丹对华为开源的系统设计和运作模式作了更详细的说明。

刘丹表示,华为软件开源,秉承的是自信、包容、公平、共建和共赢五大基本准则,在运作模式上,华为会参考国际常规模式,先以"孵化委员会"的简化模式进行初期探索,方舟编译器首先开源,随后其他模块也将分批开源。

对于未来的开源计划,现场也放出了一张表。

在这里插入图片描述

方舟编译器作为“排头兵”,打响了鸿蒙OS开源的第一枪。

方舟编译器开源范围

如今,方舟编译器首先在自家平台上开源了自定的编译器IR(Intermediate Representation)——MAPLE IR,RC(Reference Counting)和多语言设计思想等,用于与业界,学术界沟通交流。后续将陆续开源编译器前端,后端,支持其它语言(如JavaScript)的编译。

后续华为也会按照计划在2020年开始开源Java编译器工具链,支持Java程序编译;到2021年开始开源JavaScript编译器工具链,可用于JS程序的编译。

安卓卡顿的“终结者”

华为开发方舟编译器花了十年,为了解决安卓系统的“四大命门”,华为工程师们夜以继日,只为“再造安卓”。

方舟编译器官网上的一篇文章,生动地诉说了这一段历程。

文章地址:

https://www.openarkcompiler.cn/news/detail/news5

2009年,华为启动5G基础技术研究的同时,开始创建编译组,第一批海内外研究人员加入。

2013年,华为推出面向基站领域的自研编译器,并正式提出编译器框架构想。

2014年,众多海内外专家加入华为,方舟项目正式启动。

2016年,成立编译器与编程语言实验室。

2019年,华为方舟编译器正式面世!

2018年春节前一周,方舟编译器跑通安卓系统所有后台服务,并成功移植到手机。成功开机后,项目组成员甚至流下了激动的泪水!

大年初一清晨,总架构师发来了第一条方舟经编译器编译的程序发出来的拜年消息:

春节快乐,方舟大吉!

方舟编译器的优势在两方面,一是首次在Java领域将去掉了虚拟机,也是史上首次将Java/C/C++等混合代码一次编译成机器码直接在手机上运行,彻底告别Java的JNI额外开销,也彻底告别了虚拟机GC内存回收带来的应用进程掉线,使操作流畅度大幅提升。

在这里插入图片描述

二是方舟编译器用空间换性能,直接将编译器的代码优化搬到了开发者环境,不再被手机端的硬件资源所限制,为代码优化提供了无限可能。

根据华为官方测试,方舟编译器提升手机系统操作流畅度高达24%,系统响应性能提升44%。

方舟编译器源码编译

方舟编译器开源之后,引起了业界广泛关注,方舟编译器仓库的文档也表示开发者可以根据方舟官方文档编译出OpenArkCompiler。

其中知乎网友“小乖他爹”根据文档进行了编译并撰写了《方舟编译器学习笔记》系列,文摘菌在取得作者授权后,将源码

华为方舟编译器正式支持C语言:完全开源 2019年8月底,华为方舟编译器(OpenArkCompiler)正式开源,迈出了跨越性的一步。 一年多来,方舟编程体系陆续实现了编译器、引擎、调试器的开源,其中编译器的重点功能主要集中在Java应用程序静态编译上。 华为强调,方舟项目的目标是构建一个基于MapleIR的跨语言编程环境,实现跨语言的全局分析及优化。 比如在现有Java编程环境下面,开发者经常需要同时编写Java、C语言程序,通过JNI相互调用,而这两种语言之间目前是不直接互通的。 方舟编程体系的终极愿景之一,就是要通过一致的IR来表述不同语 阅读详情

相关推荐

华为方舟编译器正式开源,采用自主平台托管

华为方舟编译器正式开源,采用自主平台托管 Kotlin 开发者社区 01 — 概述 “方舟编译器概述:方舟编译器是为支持多种编程语言、多种芯片平台的联合编译、运行而设计的统一编程平台,包含编译器、工具链、运行时等关键部件。方舟编译器还在持续演进中,陆续将上述能力实现和开源。” 面向多设备、支持多语言的统一编程平台。 OpenArkCompi...

AI天才研究院 1万+

STM32F103串口接收中断:USART_IT_IDLE和USART_IT_RXNE区别

2:如果是大于1个byte的数据,在不用DMA的情况下,同时使能USART_IT_RXNE,USART_IT_IDLE中断,每收到一个字节在中断中把数据存到缓存中,待收到USART_IT_IDLE中断时,收完整帧数据,然后再解析处理数据。比如:如上图在初始化时,同时开启了两个中断,如果传送8个字节的数据,就会产生8个USART_IT_RXNE,和1个USART_IT_IDLE中断。(如果接收到数据,在1个byte的时间内,没有收到新数据,就认为是数据传送完成,产生空闲USART_IT_IDLE中断)

weixin_66299220的博客 2401

CRPR的三种关键影响:从SI、OCV到Min Pulse Width的时序优化实践

本文深入探讨了CRPR(时钟重汇聚悲观度消除)在芯片时序优化中的三种关键影响:信号完整性(SI)、片上变异(OCV)和最小脉宽检查。通过实际案例分析和技术细节,展示了CRPR如何有效修正时序分析中的过度保守估计,提升设计精度。文章特别强调了SI-aware CRPR的调试技巧和OCV补偿的最佳实践,为芯片设计工程师提供了宝贵的时序优化指导。

weixin_30920853的博客 379

Unity 升级引擎版本后构建报错:script class layout is incompatible between the editor and the player

Unity升级引擎版本后,项目报错:script class layout is incompatible between the editor and the player。

学习与分享 593

GD32F470实战:如何用EXMC+SDRAM为LVGL打造超大内存池(附完整配置代码)

本文详细介绍了如何利用GD32F470的EXMC接口与SDRAM深度整合,为LVGL构建高性能内存解决方案。通过硬件架构设计、EXMC接口配置、高级内存管理策略及LVGL性能优化技巧,开发者可以突破微控制器内存限制,实现高分辨率显示和复杂动画效果。附完整配置代码,助力嵌入式GUI开发。

rrr55的博客 548

【遥感数字图像处理(朱文泉)】各章博文链接汇总及思维导图

遥感数字图像处理(北京师范大学朱文泉教授)课程各章博文笔记汇总,及各章节思维导图

甜子yu的博客 2623

让 OData V4 界面更聪明:SAP UI5 中的 Side Effects 全解析

摘要:在OData V4应用中,字段修改常触发联动更新(Side Effects)。SAP UI5支持通过后端PATCH响应隐式返回或前端显式请求(requestSideEffects)两种方式处理。最佳实践包括:在validateFieldGroup事件中触发同批次请求,使用$$patchWithoutSideEffects避免重复刷新,并在草稿场景优化响应体。注解定义触发规则,而前端负责执行时机,二者配合可减少网络开销并保证数据一致性。Fiori elements进一步扩展了Side Effects在批

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 178

B站评论情感分析实战:Python批量爬取+BERT正负向分类,精准度92%(附完整代码)

用技术手段自动化挖掘用户真实情感,比人工分析更高效、更客观。这套方案的精度能稳定在90%左右,完全满足实际应用需求。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1026

AI工具赋能日常工作的实践指南:以产品经理与程序员为例

AI工具赋能日常工作的实践指南:以产品经理与程序员为例

专注于编程、AI、人工智能等多个领域内容研究和分析 591

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

上一篇: Facebook成立人工智能语言研究联盟,以期解决自然语言处理难题
下一篇: 企业AI化的4个趋势:我们现在何方,又将去何处?
BigDataDigest
博客等级 码龄9年 448粉丝 500原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值