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

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

3天内不再提示

华为展示方舟编译器,要让安卓彻底改头换面?

4Adf_zealertech ? 来源:YXQ ? 2019-04-28 11:05 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

在之前的华为 P30 中国发布会上,华为曾表示通过方舟编译器可实现系统操作流畅度提升 24%,系统响应提升 44%,第三方应用操作流畅度提升 60%。其可以说是华为 P30 系列体验背后的最大功臣之一。

4 月 25 日下午,华为在北京举行了“华为有技术 EMUI 媒体沙龙”活动。在这次活动上,华为首次站在官方的角度,详细解释了 P30 系列在 EMUI 9.1 系统中所使用的方舟编译器的应用原理。

今天,小雷(微信:leitech)就在第一时间为大家解读华为这项新技术,看看方舟编译器到底神奇在何处。

首先我们要了解一下什么是编译器。简单来说,编译器就是将我们能够理解的语言翻译为计算机能够理解的以 0 和 1 构成的语言。

就像我们和外国人交流一样,语言不同是很难沟通的,但只要将其中一种语言翻译成对方能听得懂的语言,就能交流成功了。

华为方舟编译器最大的特点在于,它是业内第一款支持多语言联合优化的编译器,也就是说无论是 C/C++还是 Java 都支持。

因此面对采用混合语言开发的安卓应用,方舟编译器可以在开发环境中编译成统一的流程,通过统一的程序表示和优化来执行,效率更高。

也就是说,现有安卓的运行机制就像是两个人各自准备任务,最后将他们的准备的结果综合在一起执行。而方舟编译器则是让这两个人一起准备,之后再一同执行任务。

安卓系统本身的编译是要通过 ART 虚拟机运行,因此系统资源占用较大。而方舟编译器则是在开发的时候就已经完成了静态编译,因此不需要依赖手机本身编译。

打个比方,以开卷考试为例,一个学生是在考试之前就预习好了可能会考到的知识点,做好了对应内容的标记,拿到卷子就迅速动笔;而另一个学生则是靠“临场发挥”,在考场上临时翻阅资料,占用大量考试时间。

同时,方舟编译器还提供了更高效的内存回收机制。由于不需要经过虚拟机,应用在运行过程中不需要暂停,同时随时回收内存,而不是将垃圾堆在一起回收。

方舟编译器还有一大核心功能就是对代码进行优化。所谓代码优化,就是为程序带来更高的性能。

举个很简单的例子,就是同一个人考两次试,怎么才能让第二次比第一次考的更好,其实就是要对复习进行优化。

前面说到,现有安卓系统的动态编译是利用 ART 虚拟机在机器上执行,而方舟编译器则是在开发的时候进行静态编译。

因此,前者只能采用简单的优化算法,而后者可以突破手机机能限制,根据不同的应用采用不同的编译和优化算法。

最后,华为方舟编译器还有一大亮点是学习和使用成本低。由于在 APP 发布之前的打包阶段就已经集成了编译环境,因此对于开发者来说,整个流程其实是被简化了,使用下来更方便。

华为表示,方舟编译器将从 2019 年开始全面开源。这也就是说无论是手机厂商,还是应用开发者都可以使用方舟编译器来优化应用的性能。

总的来说,通过华为方舟编译器编译应用相比现有安卓的优势主要在于:

1、释放机器编译压力,在开发时完成应用的静态编译,不经过ART虚拟机。

2、采用不同类型的应用优化方案,让应用运行效果达到最优。

3、提供更有效的内存回收机制,提升系统流畅度。

4、简化编译流程,降低开发者学习和使用成本。

除了方舟编译器外,华为还介绍了让系统流畅运行的另外一大关键点,就是 EROFS 超级文件系统。

相比之前的 F2FS 文件系统,P30 系列所采用的 EROFS 文件系统可以提升 20%的随读性能,机身可用存储空间增加 2GB,并采用只读设计。

对比另外一个只读压缩文件系统 squashfs,EROFS 最明显的优势是几乎不存在无效读取。

但由于采用更安全的 EROFS,本质上 P30 的系统会比以前的华为机型更加封闭。EROFS 是一个完全只读设计的文件系统,其不允许用户像之前 Ext4 文件系统那样支持可读写,这样设备本身更安全,但可玩性会相对更低。

根据华为官方公布的日程,方舟编译器将于 2019 年 8 月的华为终端开发者大会上开源编译框架代码,并于 2019 年 11 月的绿盟开发者大会上公布完整的方舟编译器代码。

在小雷个人看来,方舟编译器是华为在解决安卓应用编译方面提供的一种全新的思路,理论上看是不错的方案,但就目前而言还无法验证得出 P30 系列是否在长时间使用后依然流畅的结论。

另一方面,方舟编译器能否真正得到大规模推广普及,目前也还很难说。毕竟每个应用开发商和手机厂商都有自己的考虑。不过可以确定的是,华为和荣耀未来的新机将很有技能会继续采用这个工具,我们不妨期待一下。

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

    关注

    216

    文章

    35293

    浏览量

    256966
  • 安卓
    +关注

    关注

    5

    文章

    2156

    浏览量

    58952
  • 方舟编译器
    +关注

    关注

    0

    文章

    63

    浏览量

    470

原文标题:「热门」华为展示方舟编译器,要让安卓彻底改头换面?

文章出处:【微信号:zealertech,微信公众号:ZEALER】欢迎添加关注!文章转载请注明出处。

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    边缘设备AI部署:编译器如何实现轻量化与高性能?

    电子发烧友网综合报道 AI编译器是专门为人工智能(AI)和机器学习(ML)模型设计的编译器,其核心目标是将高级的AI模型描述(如计算图、神经网络结构)转换为特定硬件平台(如CPU、GPU、FPGA
    的头像 发表于 07-06 05:49 ?5502次阅读

    什么样的代码会被编译器优化

    现在的编译器有多智能,可能你辛辛苦苦写的代码,在编译器看来就是几句废话,直接被删除掉。
    的头像 发表于 01-16 16:38 ?683次阅读

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

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

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

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

    Triton编译器在高性能计算中的应用

    高性能计算(High-Performance Computing,HPC)是现代科学研究和工程计算中不可或缺的一部分。随着计算需求的不断增长,对计算资源的要求也越来越高。Triton编译器作为一种
    的头像 发表于 12-25 09:11 ?1099次阅读

    Triton编译器的优化技巧

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

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

    Triton编译器作为一种新兴的深度学习编译器,具有一系列显著的优势,同时也存在一些潜在的劣势。以下是对Triton编译器优势与劣势的分析: 优势 高效性能优化 : Triton编译器
    的头像 发表于 12-25 09:07 ?1364次阅读

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

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

    Triton编译器的常见问题解决方案

    Triton编译器作为一款专注于深度学习的高性能GPU编程工具,在使用过程中可能会遇到一些常见问题。以下是一些常见问题的解决方案: 一、安装与依赖问题 检查Python版本 Triton编译器通常
    的头像 发表于 12-24 18:04 ?3440次阅读

    Triton编译器支持的编程语言

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

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

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

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

    Triton 是一个开源的编译器前端,它支持多种编程语言,包括 C、C++、Fortran 和 Ada。Triton 旨在提供一个可扩展和可定制的编译器框架,允许开发者添加新的编程语言特性和优化技术
    的头像 发表于 12-24 17:23 ?1900次阅读

    分享关于编译器的科普

    源代码分析工具和IDE集成。GCC被构建成一个单一的静态编译器,这使得它非常难以被作为API并集成到其他工具中。 GCC比Clang支
    的头像 发表于 12-09 09:49 ?645次阅读

    C7000优化C/C++编译器

    电子发烧友网站提供《C7000优化C/C++编译器.pdf》资料免费下载
    发表于 10-30 09:45 ?0次下载
    C7000优化C/C++<b class='flag-5'>编译器</b>

    Keil编译器优化方法

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