内容简介:6月3日,荣耀产品总经理熊军民在知乎发布文章熊军民表示,编译器是一种将“高级语言”翻译为能直接被计算机或虚拟机执行目标代码的程序,编译器的效率直接影响程序运行性能和效率。谷歌此前多次调整过安卓的编译器模式,从Dalvik虚拟机、到JIT、再到ART,在Android 7.0版本,谷歌采用了AOT+ JIT+解释执行的混合模式,为了达到一个安装时间、空间占用和性能之间的平衡。
6月3日,荣耀产品总经理熊军民在知乎发布文章 《熊叔随笔:聊一聊我眼中的方舟编译器》,详解了安卓编译器的缺点,与方舟编译器的改进,揭开了方舟编译器身上的神秘面纱。
熊军民表示,编译器是一种将“高级语言”翻译为能直接被计算机或虚拟机执行目标代码的程序,编译器的效率直接影响程序运行性能和效率。
谷歌此前多次调整过安卓的编译器模式,从Dalvik虚拟机、到JIT、再到ART,在Android 7.0版本,谷歌采用了AOT+ JIT+解释执行的混合模式,为了达到一个安装时间、空间占用和性能之间的平衡。
但熊军民认为目前 Android依然存在边解释边执行的代码运行方式,Google也多次调整编译代码的模式,但是相比iOS依然有性能差距 。
而方舟编译器则解决了这一问题。
方舟编译器最大的优势在于它绕过了VM。方舟编译器是首家完全替代语言虚拟机的静态编译器,完全不需要解释器。兼顾 Java 开发效率和 C语言 运行效率的编译器。
相比安卓现有的编译机制,方舟编译器拥有3大优点:
1.方舟编译器是一种静态的编译方式,而现有的安卓系统,运行一个应用程序首先启动虚拟机,然后读入应用程序代码,逐条解释执行。会占用较多的处理资源,影响程序执行的效率。当然,也有包括AOT或JIT等提前或运行时的编译技术,把部分程序转换成机器码直接在CPU上执行。但是,仍就无法做到100%做到摆脱虚拟机的执行,这也是当前安卓阵营不如IOS阵营的关键。
2.华为方舟编译器的静态编译方式可将语言里的动态特性直接翻译成机器码,手机安装应用程序后可全速运行程序,彻底消除虚拟机的弊病,带来效率上的极大提升。
3.方舟编译器是在开发环境部署的编译器,而现有编译过程,主要发生在手机上,带来额外的资源消耗。
有鉴于此,华为方舟编译器能带来系统性能的显著提升。
1.EMUI 9.1对系统主要服务System Server进行静态编译化。带来了系统流畅度提升24%,系统响应性能提升44%以上的收益。
2.微博极速版实现了静态化编译后,流畅度提升高达60%。
此前荣耀总裁赵明曾高度评价方舟编译器:“这是一个极其巨大的提升,我们一直期待着安卓系统能够超越iOS。荣耀20系列经过方舟比那一起的处理之后,我们拥有可以媲美iPhone的体验,甚至来说在某些方面我们已经优于它。”
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- LLVM接受NVIDIA的“f18” Fortran编译器作为官方Fortran编译器
- 编译原理实战入门:用 JavaScript 写一个简单的四则运算编译器(四)结语
- Scala.js 0.6.29 发布,将 Scala 编译成 js 的编译器
- Go 编译器介绍
- Go 编译器介绍
- C++编译器优化
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
UNIX网络编程
史蒂文斯、芬纳、鲁道夫 / 杨继张 / 清华大学出版社 / 2006-1 / 98.00元
《UNIX网络编程》(第1卷)(套接口API第3版)第1版和第2版由已故UNIX网络专家W. Richard Stevens博士独自编写。《UNIX网络编程》(第1卷)(套接口API第3版)是3版,由世界著名网络专家Bill Fenner和Andrew M. Rudoff执笔,根据近几年网络技术的发展,对上一版进行全面修订,增添了IPv6的更新过的信息、SCTP协议和密钥管理套接口的内容,删除了X......一起来看看 《UNIX网络编程》 这本书的介绍吧!