0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

方舟编译器让安卓系统运行速度大幅度提升,甚至可以媲美iOS

rEOY_bjx_zndw 来源:陈年丽 2019-08-15 10:27 次阅读

在经历美国全力打压和封锁近半年之后,华为反而爆发出了让所有人瞩目的实力。特别是近来,华为接连发布的经过十年布局研发的方舟编译器和鸿蒙操作系统,再次让外界见识到了华为真正的实力。虽然作为未来华为万物互联的基础,鸿蒙操作系统显然更重要,但毕竟鸿蒙系统还需要一段时间进行生态布局,和技术迭代来完善和适配。而方舟编译器作为华为软件生态的重要一环,在当下就显得非常重要了。

而方舟编译器在发布之时,就宣称一旦把安卓系统和应用重新用方舟编译器编译之后,安卓系统的运行速度将大幅提升,甚至将可以媲美iOS。特别是华为还宣布方舟编译器将完全开源。如果方舟编译器真能做到宣传中的效果,毫无疑问,一旦方舟开源,必将有大批的开发者汇聚于此,使用方舟重新编译自己的应用。而方舟编译过的程序,将可以在鸿蒙上完美适配。因此只要方舟编译器表现良好,那就会变成鸿蒙系统生态的吸粉神器。

那么方舟编译器能否做到宣称的彻底改良Android呢。首先我们先来看一下到底有哪些因素,导致Android天生就跑不过iOS。首先一点,其实Android就是用Java编写的一个叠加在底层Linux内核之上的运行在用户空间的大型用户程序。并且Android把底层Linux系统的各种功能都包装成了各种各样的服务,而各种应用程序就可以通过调用Android提供的这些服务调用底层linux的各种功能,从而实现用户的各种需求,如打游戏,看视频等等。

也因此Android天生就继承了java的各种优缺点。优点是Java的兼容性,可以全平台使用。但缺点也因此而来,正是因为Java为了能全平台使用,因此使用了虚拟机概念来屏蔽底层硬件的区别。因为Android也是跑在虚拟机上的。虽然谷歌为了提高性能,在Android迭代时,更换了不同版本的虚拟机,但毕竟虚拟机还在。这就意味着,Android的应用程序在运行时,必须要先经过虚拟机的解释,才能让底层的Linux再执行。这就大大拖累了Android的运行速度。

而且由于底层Linux系统是用C语言编写的,而Android及其应用都是用Java编写的。因此当用户使用应用程序想使用一个功能,那么就必须从Android系统的Java调用这个功能的接口转换成底层Linux系统的C语言调用接口。而这有需要JNI来完成从java接口到C接口的转换,又要拖慢一点时间。而且对于Android来说,如果内存占用过高(如打开的应用太多)时,会执行一个叫做GC的内存回收工具,进行内存碎片回收。但是要命的是,GC在执行时会停止所有的程序运行,直到清理完毕。这也是为何Android手机为什么一直在大幅增加内存容量,就是为了尽量减少GC的运行次数。

而华为的方舟编译器就一举解决了这几个困扰业界多年的难题。通过将java/c/c++代码统一编译,彻底解决了以往安卓必须依赖的JNI和虚拟机。而又通过引用计数法进行内存实时回收,避免了GC的系统卡顿。因此方舟编译器才敢宣称能大幅提升Android及其应用的运行速度。

说来简单,但要知道方舟编译器做到了业界自Java 1995年问世以来,一直依赖虚拟机,几十年未变的框架。也是第一个真正能做到Java/C/C++代码能够直接混合成机器码的编译器。可以说,有了方舟编译器,华为才真正的有可能构建起自己的生态。现在广大程序员,都在期盼着华为尽早开放方舟编译器的源码。正如Linux之父,程序员之神Linus说的:Talk is cheap, Show me the code。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 华为
    +关注

    关注

    215

    文章

    34263

    浏览量

    251040
  • 编译器
    +关注

    关注

    1

    文章

    1617

    浏览量

    49019
  • 鸿蒙
    +关注

    关注

    57

    文章

    2305

    浏览量

    42697
  • 方舟编译器
    +关注

    关注

    0

    文章

    60

    浏览量

    181

原文标题:国网节能公司面向国家电网系统内外公开招聘65人!

文章出处:【微信号:bjx-zndw,微信公众号:北极星智能电网在线】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Keil编译器优化方法

    我们都知道,代码是可以通过编译器优化的,有的时候,为了提高运行速度或者减少代码尺寸,会开启优化选项。
    的头像 发表于 10-23 16:35 272次阅读
    Keil<b class='flag-5'>编译器</b>优化方法

    用功率运放OPA549T做电压跟随,出现大幅度振荡的原因?怎么解决?

    用功率运放OPA549T做电压跟随,负载电流2.5A左右,电压0到14v可变,只在下降沿和上升沿处出现大幅度振荡,振荡波形周期为200us,维持时间在5ms,根据datasheet推荐在输出端加RC网络补偿,没效果,哪位工程师能帮忙解决。
    发表于 09-10 07:03

    INA163 4引脚的电压信号被大幅度衰减是怎么回事?

    中间的是INA163,测试的时候正常上电,给4引脚接入0.1V正弦电压信号,在9引脚处测试输出信号,发现被大幅度衰减,基本没有信号,但是用5引脚测试时是正常的,所以想请教一下,可能存在的原因是什么?谢谢
    发表于 08-30 07:37

    INA826检测时出现较大幅度偏移,导致结果偏大或偏小是什么原因导致的呢?

    电池化成产品上使用许多INA826,用于电池通道电流检测。目前发现INA826检测时出现较大幅度偏移,导致结果偏大或偏小,而且检测通道不固定。请问一下,是什么原因导致的呢?
    发表于 08-02 07:35

    INA317仪表放大器前级加跟随,为什么会导致共模抑制比的大幅度下降呢?

    请问在仪表放大器正极、负极同时增加相同规格的电压跟随,为什么会导致共模抑制比的大幅度下降呢? 如果仅使用仪表放大器INA317,实测共模抑制比能达到110dB。而为了增加高输入阻抗和驱动能力,前
    发表于 08-01 06:49

    任务编译器v6.3r1运行速度太慢,是什么原因导致的?

    我使用的是 Tasking 编译器 v6.3r1,在编译时使用了优化选项--optimize=0,编译时间非常长。 事实上,我正在编译的文件有 ~50.000 行代码,但
    发表于 07-26 06:52

    AI编译器技术剖析

    随着人工智能技术的飞速发展,AI编译器作为一种新兴的编译技术逐渐进入人们的视野。AI编译器不仅具备传统编译器的功能,如将高级语言编写的源代码转换为机器可执行的代码,还融入了人工智能技术
    的头像 发表于 07-17 18:28 1418次阅读

    人工智能编译器与传统编译器的区别

    人工智能编译器(AI编译器)与传统编译器在多个方面存在显著的差异。这些差异主要体现在设计目标、功能特性、优化策略、适用范围以及技术复杂性等方面。以下是对两者区别的详细探讨,旨在全面解析其内在差异。
    的头像 发表于 07-17 18:19 1633次阅读

    SEGGER编译器优化和安全技术介绍 支持最新C和C++语言

    代码生成,SEGGER编译器生成非常小的代码,非常适合内存受限的环境,而不会牺牲执行速度。 2) 速度优化:在最高优化级别,SEGGER编译器生成尽可能快的代码,确保您的应用程序以峰值
    的头像 发表于 06-04 15:31 1375次阅读
    SEGGER<b class='flag-5'>编译器</b>优化和安全技术介绍 支持最新C和C++语言

    谷歌15将提升对助听器支持,改善音频体验

    5 月 30 日,谷歌正式公布了 15 更新计划,将大幅度提升
    的头像 发表于 05-30 15:11 967次阅读

    纯血鸿蒙系统,拿什么与iOS比?

    、数码、车载等等一系列生态闭环。 而华为鸿蒙是全栈自研底座,从AI大模型、AI框架、安全隐私、集成开发环境、设计系统、编程框体、编译器、编程语言和文件系统,到操作系统内核。去掉了传统
    发表于 02-21 21:04

    MCU可以正常工作但是端口输入脉冲信号后,读值不准确大幅度变化是为什么?

    MCU还可以正常工作但是端口输入脉冲信号后,读值不准确大幅度变化,之前是好的,这是为啥呢,是MCU坏了吗
    发表于 02-20 07:09

    ​纳思达MSCI ESG评级获得较大幅度提升

          秉承环保理念    践行社会责任   -纳思达股份有限公司- 纳思达MSCI ESG评级 获得较大幅度提升 日前,国际权威指数公司MSCI(MorganStanley Capital
    的头像 发表于 12-26 09:53 342次阅读
    ​纳思达MSCI ESG评级获得较<b class='flag-5'>大幅度</b><b class='flag-5'>提升</b>

    TVM编译器的整体架构和基本方法

    有将近两个月没有学习一些新东西,更新一下博客了。一直在忙公司的一个项目,是做一款支持LSTM和RNN的通用架构加速IP。自己恰好负责指令编译工作,虽然开始的指令比较粗糙,没有一套完整的编译器架构
    的头像 发表于 11-30 09:36 2250次阅读
    TVM<b class='flag-5'>编译器</b>的整体架构和基本方法

    编译器的优化选项

    这一点,需要了解编译器的能力和限制;第三,要了解硬件的运行方式,针对硬件特性进行优化。本文着重展开第二点和第三点。 简单认识编译器 要写出高性能的代码,首先需要对编译器有基础的了解,原
    的头像 发表于 11-24 15:37 842次阅读
    <b class='flag-5'>编译器</b>的优化选项