Echo

Echo 关注TA

大家好,我是Echo!

Echo

Echo

关注TA

大家好,我是Echo!

  •  普罗旺斯
  • 自由职业
  • 写了280,539,798字

最近回复

该文章投稿至Nemo社区   资讯  板块 复制链接


荣耀老熊:方舟编译器是个通用技术,不仅仅用于安卓

发布于 2019/06/04 19:09 517浏览 0回复 1,039

IT之家6月4日消息 5月31号,荣耀在上海东方体育馆发布了拥有方舟编译器加持的荣耀20系列手机。昨日,荣耀产品总经理熊军民发表文章,介绍了他眼中的方舟编译器。

 Android 5.0版本以前,Android采用的是代码执行效率较为低下Dalvik虚拟机。在 Android 5.0至 Android 6.0阶段,Android使用了AOT编译器,来解决之前Java代码执行效率的问题。在Android 7.0版本,Android采用了AOT+JIT+解释执行的混合模式。

熊军民指出,目前Android依然存在边解释边执行的代码运行方式,Google也多次调整编译代码的模式,但是相比iOS依然有性能差距。

熊军民提到,作为连接人类世界与机器世界之间的一座桥梁,编译器的效率直接影响程序运行性能和效率。方舟编译器最大的优势在于绕过了 VM。

方舟编译器是首家完全替代语言虚拟机的静态编译器,完全不需要解释器。兼顾Java开发效率和C语言运行效率的编译器。相比现有的编译机制:

1.方舟编译器是一种静态的编译方式,而现有的安卓系统,运行一个应用程序首先启动虚拟机,然后读入应用程序代码,逐条解释执行。会占用较多的处理资源,影响程序执行的效率。当然,也有包括AOT或JIT等提前或运行时的编译技术,把部分程序转换成机器码直接在CPU上执行。但是,仍就无法做到100%做到摆脱虚拟机的执行,这也是当前安卓阵营不如IOS阵营的关键。

2.华为方舟编译器的静态编译方式可将语言里的动态特性直接翻译成机器码,手机安装应用程序后可全速运行程序,彻底消除虚拟机的弊病,带来效率上的极大提升。

3.方舟编译器是在开发环境部署的编译器,而现有编译过程,主要发生在手机上,带来额外的资源消耗。

目前方舟编译器针对通用ARM芯片架构进行编译优化,未来将通过软硬件协同设计,将麒麟芯片的能力发挥到极致。同时方舟编译器支持Java标准用法,三方应用可直接进行编译,不需要修改代码。但如果希望获得更加好的性能或内存方面的提升,则可以通过调整代码结构,与方舟编译器配合优化来实现。

熊军民提到,他们已决定将华为方舟编译器对外开源,三方应用开发者可参与到华为方舟编译器的开发与使用,以及应用到自身应用中。方舟编译器是个通用技术,不仅仅用于安卓,还可以适用ICT行业。

据悉,华为将在下半年的“华为终端中国开发者大会”与“绿盟中国开发者大会”上,公布与推进华为方舟编译器的具体开源事宜。


本文由LinkNemo爬虫[Echo]采集自[https://www.ithome.com/0/426/653.htm]

点赞(0)
点了个评