0

0

方舟编译器是什么

(*-*)浩

(*-*)浩

发布时间:2019-07-22 09:43:10

|

81586人浏览过

|

来源于php中文网

原创

方舟编译器是华为公司为了提升android系统的编译效率推出的一项系统及应用的编译和运行机制。

方舟编译器是什么

2019年4月,在华为P30系列国内发布会上,华为首次宣布了该技术。(推荐学习:PHP视频教程

编译器,就是将“一种计算机语言(通常为高级语言)”翻译为“另一种计算机语言(通常为低级语言)”的程序。高级计算机语言便于开发者们编写、阅读交流以及维护,如Pascal、C++、C++、Java等,而低级机器语言是计算机能直接解读、运行的机器代码(Machine code)。

华为的方舟编译器,就是将安卓应用开发者们所使用的JAVA、C/C++们转换成机器代码。据王成录透露,华为从2009年就开始考虑做编译器,“因为咱们海思做了芯片以后,需要有自己的编译器才能真正发挥芯片的能力,从2013年开始,有华为自己的自研编译器了,叫HCC。”

根据时间表显示,在2012年,华为成立了编译器与编程语言实验室,在2014年,技术大牛Fred Chow加入华为负责编译器的主架构,经过十年的摸索,华为终于推出了方舟编译器。

根据华为官方公布的数据显示,与此前的安卓应用开发相比,方舟编译器能够提升24%的系统操作流畅度,提升44%的系统响应能力,还能提升60%的第三方应用(微博极速版)操作流畅度。

消除了跨语言调用开销

王成录向记者们详细阐述了方舟编译器能提升流畅度、响应能力的工作原理。

首先,方舟编译器是多语言联合优化编译器,“消除了跨语言调用开销,这是影响Android性能开销比较大的核心原因之一。”

据王成录介绍,目前Android应用市场里95%的APP都是多种开发语言:“逻辑部分,都是Java代码,但是为了增强它的能力,可能所有的APP的开发者,都会用C写个库供Java来调用。”

ecshop
ecshop

本版本全面兼容php5.6+,并且修复了许多官方程序的低级代码bug。在apache 2.4.17+php5.6.15环境下测试通过,人格保证无毒无木马,仅仅是一名ecshop热爱者心血来潮之作。ecshop编译更新日志:1、加入最新官方补丁。2、修改数据库连接底层为mysqli, 现在完美无缺了。3、再次对所有代码进行细节修复。4、adminers更新至1.1.2, 在线管理数据库的神器。5、测

下载

Java是一门面向对象编程语言,具有简单性、面向对象、分布式等特点,虽然运行效率不及C++,但开发效率高、跨平台性更强的优势,让JAVA成为了安卓开发的首选,而通过JNI调用本地C/C++库也是目前开发者们都在做的。

但,Java和C语言之间使用接口调用,必然会形成额外的性能开销;王成录表示,华为方舟编译器将不同语言代码在开发环境中编译成一套可执行文件,这样执行效率更高。

消除了影响性能的虚拟机机制并实时回收内存

王成录认为华为方舟编译器的第二大特点是消除了影响性能的虚拟机机制。

在安卓系统发展过程中,虚拟机不可被忽视:Android系统是以Linux为内核构建的,为了降低应用的开发难度,并将其适配到不同硬件配置的设备上,Google在Linux内核之上构建了一个虚拟机,Android应用使用java开发,运行在虚拟机之上。

可以灵活实现不同应用的性能优化

王成录表示,方舟编译器的第三个亮点是可以灵活实现不同应用的性能优化。

他表示,现有的安卓编译大部分代码在虚拟机环境运行,而虚拟机的创建由于来自于同一套“模板”,难以作深度的优化:不同应用的优化诉求不一样;相比之下,方舟编译器不一样,每个应用编译优化方案自己来定,分别形成不同应用优化后的机器码,“相当于说,我们给每一个有追求的应用开发者,都有了一个把自己的应用做的更好的机会,不再受限于Android虚拟机的限制。”

更多PHP相关技术文章,请访问PHP图文教程栏目进行学习!

相关专题

更多
c++ 根号
c++ 根号

本专题整合了c++根号相关教程,阅读专题下面的文章了解更多详细内容。

22

2026.01.23

c++空格相关教程合集
c++空格相关教程合集

本专题整合了c++空格相关教程,阅读专题下面的文章了解更多详细内容。

24

2026.01.23

yy漫画官方登录入口地址合集
yy漫画官方登录入口地址合集

本专题整合了yy漫画入口相关合集,阅读专题下面的文章了解更多详细内容。

99

2026.01.23

漫蛙最新入口地址汇总2026
漫蛙最新入口地址汇总2026

本专题整合了漫蛙最新入口地址大全,阅读专题下面的文章了解更多详细内容。

132

2026.01.23

C++ 高级模板编程与元编程
C++ 高级模板编程与元编程

本专题深入讲解 C++ 中的高级模板编程与元编程技术,涵盖模板特化、SFINAE、模板递归、类型萃取、编译时常量与计算、C++17 的折叠表达式与变长模板参数等。通过多个实际示例,帮助开发者掌握 如何利用 C++ 模板机制编写高效、可扩展的通用代码,并提升代码的灵活性与性能。

15

2026.01.23

php远程文件教程合集
php远程文件教程合集

本专题整合了php远程文件相关教程,阅读专题下面的文章了解更多详细内容。

65

2026.01.22

PHP后端开发相关内容汇总
PHP后端开发相关内容汇总

本专题整合了PHP后端开发相关内容,阅读专题下面的文章了解更多详细内容。

61

2026.01.22

php会话教程合集
php会话教程合集

本专题整合了php会话教程相关合集,阅读专题下面的文章了解更多详细内容。

63

2026.01.22

宝塔PHP8.4相关教程汇总
宝塔PHP8.4相关教程汇总

本专题整合了宝塔PHP8.4相关教程,阅读专题下面的文章了解更多详细内容。

33

2026.01.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号