广告

华为方舟编译器开源了哪些内容?

2019-09-04 网络整理 阅读:
自华为开源平台网站公布了一些测试和说明文件后,吸引了不少代码爱好者前来围观。从网友反馈来看,大家对方舟编译器的开源十分期待。

华为方舟编译器开源官网8月31日正式上线,方舟编译器代码正式出现在华为开源平台HUAWEIOpenSource上。方舟编译器是华为自研操作系统鸿蒙OS的重要组成部分,本次方舟编译器框架代码的正式上线,也意味着华为鸿蒙OS向开源走近了一步。4IZednc

自华为开源平台网站公布了一些测试和说明文件后,吸引了不少代码爱好者前来围观。从网友反馈来看,大家对方舟编译器的开源十分期待。4IZednc

方舟编译器开源了哪些内容?

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

014ednc201909044IZednc

开发者可基于开源代码+二进制,编译构建出编译器工具链,尝试对Java程序进行编译。社区参与者可以通过框架源码学习方舟编译器的编译器中间表达(IR)及基本的中端编译框架,熟悉方舟编译器的架构思想,并参与诸如对编译器中端优化的贡献。4IZednc

=016ednc201909044IZednc

▲方舟编译器整体框架4IZednc

方舟编译器框架代码可完成Java静态编译,包括类层次关系分析、虚方法表和接口表的生成、native函数的处理等,以及基于引用计数的内存管理方式,提供RC插入功能。4IZednc

根据华为公布的时间表,后续还将开源编译器前端、后端;支持 Java 程序编译、JavaScript 语言应用的编译等。现在的官网也只是方舟编译器孵化期间的网站,「正式毕业后的官网待定」。4IZednc

根据之前华为在开发者大会上公布的信息,作为鸿蒙OS的重要工具,方舟编译器从2019年8月开始,将分步骤持续进行开源。具体的开源计划如下:4IZednc

2020年:开始对Java编译器工具链开源,支持Java程序编译。4IZednc

2021年:开始对JavaScript编译器工具链开源,可用于JS程序的编译。4IZednc

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

代码托管网站:https://code.opensource.huaweicloud.com/HarmonyOS/OpenArkCompiler4IZednc

码云镜像仓库地址:https://gitee.com/harmonyos/OpenArkCompiler4IZednc

方舟编译器的四大技术亮点

方舟编译器有着以下四大技术亮点:4IZednc

1、是一种多语言联合优化编译器,消除了跨语言调用的开销4IZednc

方舟编译器则可以让不同语言代码在程序开发环境中环境中编译成一套语言统一的可执行文件,在硬件的运行环境高效执行。4IZednc

也就是说,方舟编译器中吸纳了现在安卓生态中的各种主流框架和库,对不同语言做了统一的程序优化,直接编译成机器指令。4IZednc

2、程序运行时无需依赖虚拟机,减少资源占用,并且建立了高效的内存回收机制4IZednc

方舟编译器摆脱了原有安卓系统虚拟机的编译模式,把动态的部分全部变为静态编译,其核心是一定要对Java语言动态特性非常深入理解。4IZednc

Java是非常庞大的,需要对安卓现有的应用,可能会用到哪些库,这些库之间怎么用理解,需要大量的分析运行状态,才能够将这些动态特性完成提前的编译。同时由于方舟编译器统一将程序编译为机器语言,所以也是跨硬件平台的。4IZednc

3、可针对不同应用灵活编译优化,翻译出性能更佳的机器指令4IZednc

现有的安卓编译,大部分代码在虚拟机环境运行,其创建遵循同一套“模板”,所以难以作深度的优化。4IZednc

方舟编译器可针对不同应用灵活编译优化,每个应用编译优化方案由开发者自己来定,分别形成不同应用优化后的机器码。4IZednc

4、开发者学习和使用成本低,打包时即编译4IZednc

方舟编译器的又一亮点是,在应用开发构建的阶段为开发者提供快速的集成编译环境。而现行安卓系统则是在用户将应用下载后,在终端上实现编译的。4IZednc

普通用户直接受益者

顾名思义,编译器相当于一个翻译器,将程序员编程使用的高级语言翻译成机器能懂的代码,目前 Android 系统的应用运行时主要采用边「翻译」边执行的模式,会消耗部分资源且影响运行效率,而华为的方舟编译器则优化了这个过程,在开发环境中完成全部代码编译,所以应用在运行时不需要再经过编译即可直接将操作指令送达处理器执行,给用户带来的直观感受就是系统更流程、应用运行更快了。4IZednc

017ednc201909044IZednc

▲图片来自:CNBETA4IZednc

根据华为实验室的测试数据,EMUI 9.1 仅系统组件 System Server 应用了华为方舟编译器后,系统操作流畅度提升 24%,系统响应性能提升 44%。4IZednc

可以说,作为普通用户,我们虽然不会直接接触到方舟编译器,但却是该技术的直接受益者。4IZednc

Android 版的支付宝前不久就因为更新后启动速度和响应速度大为提升,被网友猜测是采用了方舟编译器,虽然官方后来澄清是通过容器框架原生化、虚拟机调优等方式改善了使用体验,但在方舟编译器官网列出的合作伙伴中,支付宝赫然在列,此外还有新浪微博、淘宝、抖音、QQ、等常用应用共 45 个。4IZednc

018ednc201909044IZednc

方舟编译器要发挥实际作用,正是需要各应用开发者的支持,如果这些大公司确实基于方舟开发出相应的版本,想必能带动更多应用「上船」,到时候消费者才能真正享受到方舟编译器带来的好处。4IZednc

如果方舟编译器取得不错的效果,也有望带动华为手机的销量,目前已有多款华为和荣耀机型支持方舟编译器,当然,方舟编译器的成功无疑也将为鸿蒙 OS 打下坚实的基础。4IZednc

(责编:Demi Xia)4IZednc

本文为EDN电子技术设计 原创文章,禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
  • 华为Hi3861开发板助力推广鸿蒙系统,或基于RISC-V架构 Hi3861开发板:属于轻量系统类设备(参考内存≥128KB),适用于联接类模组设备,为各类IoT设备提供连接能力。此外,华为还有Hi3518和Hi3516两款开发板适用小型系统类设备(参考内存≥1MB)。
  • 从技术角度分析,GaN和SiC功率器件上量还欠什么? 氮化镓(GaN)和碳化硅(SiC)这两种新器件正在推动电力电子行业发生重大变化,它们在汽车、数据中心、可再生能源、航空航天和电机驱动等多个行业取得了长足的进步。在由AspenCore集团举办的PowerUP Expo大会上,演讲嘉宾们深入探讨了包括GaN和SiC在内的宽禁带(WBG)器件的技术优势以及发展趋势。
  • 研发转至FAE(现场应用工程师),是否远离技术了?有前途吗? 前几日,EDN小编在浏览知乎的时候,发现了一个有趣的话题《FAE有什么发展前景吗?》,被浏览次数接近九万次。小编总结了一下题主的提问:FAE是否远离技术了?未来是否有发展前景?
  • 小米发布“小感量+磁吸”无线充电预研技术,最高支持50W 据EDN电子技术设计报道,昨日,@小米手机 官微宣布,正式发布小感量+磁吸”无线充电预研技术,其磁吸无线充电功率最高可达50W,损耗降低50%。据悉,该技术与传统无线充电方案采用大感量线圈不同,小米的小感量无线快充技术方案采用小感知线圈去感应发送端能量。
  • 2G/3G减频退网,NB-IoT、Cat.1谁能替代上位? 众所周知,2G、3G减频退网绝非一帆风顺。所以在国内市场,我们可以看到上至国家政策、下至产业界和运营商,多方为推进2G/3G减频退网做出全方位的准备。尤其是正处市场风口的NB-IoT、Cat.1两大产业链。
  • 美国商务部宣布对俄罗斯出口限制:在技术上孤立并削弱其 美国时间2022 年 2 月 24 日,美国商务部通过其工业和安全局 (BIS) 对俄罗斯进一步入侵乌克兰作出回应,实施了一系列全面的严格出口管制措施,这些管制措施将严重限制俄罗斯获得其需要维持的技术和其他物品其侵略性的军事能力。
  • 华为储备芯片麒麟9000L曝光:支持5G,三星5nm工艺 众所周知,华为自研麒麟芯片早已经库存不足,华为新款的终端产品也已开始搭载高通骁龙芯片。但近日,多位数码博主爆料称,华为Mate40E衍生版机型有望在3月初发布(或命名华为Mate40E Pro),搭载麒麟9000L芯片,支持5G网络。其中,麒麟9000L芯片备受关注,最重要的是,该机支持5G网络。
  • 电子工业落后的俄罗斯“秒赢”乌克兰,电子作战系统强在 2月24日,俄罗斯总统普京决定在顿巴斯开展特别军事行动,然而,开战一小时后,俄罗斯国防部称,高精度武器正在让乌克兰空军的军事基础设施、防空设备、军用机场和航空队失去战斗能力。那么俄罗斯这个战斗民族,在半导体、科技方面到底有哪些特色呢?
  • 555 定时器 IC 50 岁了,为何它能经久不衰? 自 1972 年推出以来,555 定时器 IC一直在市场上广泛使用。在 IC 技术编年史中,那是恐龙时代。这种基本未改变的 IC 已经生产了很长时间,目前仍有十几家厂商提供这种芯片。我找不到具体的数字,但我怀疑每年仍有数百万人在使用传统和新设计。那么也许是时候让 555 退役并在那些传统的晶圆厂队列中为其他更新的模拟 IC 腾出空间了?
  • 2022年五个值得关注的半导体行业趋势 众所周知,2021年的半导体需求不寻常,而且有些膨胀。与疫情相关的IC短缺和供应问题导致客户将订单增加了约15%,供应商将价格提高了约15%。这种恶化的需求比正常需求高出约30%。知道了这一点,2020年有望以以下趋势卷土重来:
  • 动力电池回收价格飙升,优化回收过程新发现 目前引起很多兴趣的一种方法是将热预处理和湿法冶金相结合,其中使用水化学来回收金属。几家公司正在开发将使用这种组合的系统,但瑞典查尔姆斯理工大学的研究人员发现,这些公司在其工艺中使用的温度和时间差异很大,因此非常需要进行比较研究来确定回收锂离子电池的最佳热处理和湿法冶金工艺。
  • 光罩制作前的芯片工程设计变更 随着芯片集成度越来越高和功能越来越复杂,在芯片开发过程中很容易产生缺陷。为确保芯片中的功能不受到影响,在流片前修复这些缺陷非常重要。本文将介绍如何通过手工修改网表代码或使用Conformal或Formality等工具执行工程设计变更单 (ECO),来修复RTL固定后发现的缺陷。
广告
热门推荐
广告
广告
EE直播间
在线研讨会
广告
广告
面包芯语
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了