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。

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

    关注

    216

    文章

    35293

    浏览量

    256966
  • 编译器
    +关注

    关注

    1

    文章

    1663

    浏览量

    50454
  • 鸿蒙
    +关注

    关注

    60

    文章

    2656

    浏览量

    44346
  • 方舟编译器
    +关注

    关注

    0

    文章

    63

    浏览量

    470

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    释放潜力:在树莓派上运行系统实现多样化应用!

    提供了高度定制化的可能。通过运行系统,您可以将树莓派硬件的灵活性与
    的头像 发表于 07-05 08:33 ?388次阅读
    释放潜力:在树莓派上<b class='flag-5'>运行</b><b class='flag-5'>安</b><b class='flag-5'>卓</b><b class='flag-5'>系统</b>实现多样化应用!

    迅为RK3588开发板GPIO调用APP运行测试

    下载 Gradle 和各种 Jar 包可能需要一段时间,Android Studio 加载工程可能会耗时较长甚至编译失败。如果编译失败,可以尝试多次点击工具栏上的绿色“小锤子”按钮重新
    发表于 05-13 10:49

    RVCT编译器是否比GNU的编译器的代码执行速度更快?

    ,是rvct3.1还是rvct4.0?如何把rvct编译器集成到ide中? 2、RVCT编译器是否比GNU的编译器的代码执行速度更快?
    发表于 05-08 07:49

    自制 AirTag,支持/鸿蒙/PC/Home Assistant,无需拥有 iPhone

    My 网络。 国外有人逆向了 AirTag 机制 (github 项目 seemoo-lab/openhaystack) 可以一些蓝牙设备,比如 ESP32 、树莓派、甚至带蓝牙适配器的 Linux
    发表于 02-25 11:22

    Triton编译器与GPU编程的结合应用

    Triton编译器简介 Triton编译器是一种针对并行计算优化的编译器,它能够自动将高级语言代码转换为针对特定硬件优化的低级代码。Triton编译器的核心优势在于其能够识别并行模式,
    的头像 发表于 12-25 09:13 ?961次阅读

    Triton编译器如何提升编程效率

    在现代软件开发中,编译器扮演着至关重要的角色。它们不仅将高级语言代码转换为机器可执行的代码,还通过各种优化技术提升程序的性能。Triton 编译器作为一种先进的编译器,通过多种方式
    的头像 发表于 12-25 09:12 ?854次阅读

    Triton编译器的优化技巧

    在现代计算环境中,编译器的性能对于软件的运行效率至关重要。Triton 编译器作为一个先进的编译器框架,提供了一系列的优化技术,以确保生成的代码既高效又适应不同的硬件架构。 1. 指令
    的头像 发表于 12-25 09:09 ?1158次阅读

    Triton编译器的优势与劣势分析

    据流分析技术,能够自动识别并优化深度学习模型中的计算瓶颈,从而提高模型的整体性能。 它支持多种硬件平台的优化,包括CPU、GPU、FPGA等,为深度学习模型的部署提供了更广泛的选择。 灵活可扩展 : Triton编译器采用了模块化的设计思想,开发者可以根据需要自定
    的头像 发表于 12-25 09:07 ?1364次阅读

    Triton编译器在机器学习中的应用

    1. Triton编译器概述 Triton编译器是NVIDIA Triton推理服务平台的一部分,它负责将深度学习模型转换为优化的格式,以便在NVIDIA GPU上高效运行。Triton编译器
    的头像 发表于 12-24 18:13 ?1172次阅读

    Triton编译器支持的编程语言

    Triton编译器支持的编程语言主要包括以下几种: 一、主要编程语言 Python :Triton编译器通过Python接口提供了对Triton语言和编译器的访问,使得用户可以在Pyt
    的头像 发表于 12-24 17:33 ?1071次阅读

    Triton编译器与其他编译器的比较

    Triton编译器与其他编译器的比较主要体现在以下几个方面: 一、定位与目标 Triton编译器 : 定位:专注于深度学习中最核心、最耗时的张量运算的优化。 目标:提供一个高度抽象、灵活、高效
    的头像 发表于 12-24 17:25 ?1118次阅读

    Triton编译器功能介绍 Triton编译器使用教程

    。以下是 Triton 编译器的一些功能介绍和使用教程。 Triton 编译器功能介绍 多语言支持 :Triton 支持多种编程语言,使得开发者可以在同一个编译器框架下处理不同的语言。
    的头像 发表于 12-24 17:23 ?1900次阅读

    Keil编译器优化方法

    我们都知道,代码是可以通过编译器优化的,有的时候,为了提高运行速度或者减少代码尺寸,会开启优化选项。
    的头像 发表于 10-23 16:35 ?2291次阅读
    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