我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:双彩网 > 知识编译 >

华为方舟编译器解读:这就是P30流畅至极的秘密武器?

归档日期:06-24       文本归类:知识编译      文章编辑:爱尚语录

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

本文链接:http://svtrikes.com/zhishibianyi/108.html

上一篇:QUARTUS编译错误怎么解决

下一篇:没有了