电子电脑技术云计算

方舟编译器破空而来,安卓无限接近iOS,华为这次的技术大招牛在哪

2019-04-26  本文已影响3720人  c6e2c23102fa

在今年华为P30系列国内发布会后,一个似乎是小插曲的宣布却引发了渲染大波,那就是方舟编译器的发布。这本来是一个针对开发者的产品,没想到却引发了用户的高度关注,华为发布这款编译器并且开源的目的到底是什么?这个编译器到底厉害在哪里?25日下午的一场“华为有技术”的媒体分享会,为我们揭开了这个谜底。

安卓为什么不如苹果?

尽管苹果一直不思进取,产品和乏善可陈,但大部分人都依旧认为安卓不如苹果,其中核心的原因就是因为安卓系统不如苹果的iOS系统更加流畅,而且使用一段时间之后就会卡顿,这个卡顿的周期要远小于iOS的周期。那么为什么安卓系统就不如iOS更快更流畅呢?其实这是安卓的一个先天不足,核心就在于安卓是全开放的平台,特别是对上层应用没有强制规则,而不同的手机又各自有自己的优化,相同品牌的手机,又有各自不同的版本,呈现了高度碎片化的特征。同时安卓内部还有一个虚拟机的机制,这也是安卓缓慢的元凶,就好像说你和老外对话必须要有一个翻译在中间一样,对话的效率显然就会很低。

而iOS之所以更快的原因,也在于说没有这个虚拟机的环节,程序编译后就直接生成了机器指令,手机系统可以直接执行。而方舟编译器要实现的就是这个无缝翻译的功能,让安卓也能像iOS一样流畅。就好像现在汽车发动机分汽油和柴油,而通过方舟编译器的工作就是让不管什么油出来以后都可以让发动机直接用。对于开发者来说,是一个大好事,因为无需做任何修改,只要将之前的代码重新编译,就可以实现更高速的运行效果。

当然,这是其中一个最主要的原因。除此之外,华为在今天还介绍了同时发布的EROFS 超级文件系统,则从系统读取文件的角度提升了大约20%的速度,自然就更能直观的感受到操控的流畅。同时,由于超级文件系统华为独有的压缩算法,还可以节约近2G的ROM空间,相当于系统安装包少了2G,同时只读的设计让手机系统禁止被改写,这样也让一些攻破手机系统的黑客举措遭遇一道城墙,也让安卓手机的安全性变得更强大。藉此全方位的举措,安卓系统的流畅度方面可以完全实现对iOS的接近,甚至某些方面的超越,只是由于自己的开放性问题,在生态规范上还和iOS上有相当的距离。

做编译器到底有多难?

在软件开发领域,编译器可以说是皇冠上的明珠,目前在中国,包括数据库、操作系统等各方面的软件产品都有人在做,而唯有编译器在方舟推出之前,还是一个空白。这也是值得华为人骄傲的地方。事实上,华为在编译器方面的布局已经非常久远,差不多从10年前就开始进行投入开发,而在2014年Fred Chow加入后,开始有了巨大突破。说起这位大牛,其实还是一个华人,在40年前,就参与了劳伦斯利弗莫尔国家实验室一个名叫“S-1"的超级计算机项目,GNU之父Richard Stallman最初就是基于该项目配套的编译器来编写C语言前端,后来由于性能原因又重写了一个编译器——GCC,而Fred Chow正是该项目编译器的主力研发之一,是编译器领域的顶级大佬,现在则是华为编译器技术首席科学家。正是在他的带领下,加上数百位名校出身的高级工程师的不懈努力,才让方舟编译器真正落地,其中投入不止数亿美金,而现在华为则决定免费开源。

这其实完全是一个基础领域的研究,而在商业上则可以说毫无必要,因为现有的产品完全是可用而且够用的。但在战略上又是无比重要,这就好像华为在海思芯片上的巨额投入一样,外采完全可以,但自研才能真正把命运握在自己手中。正是从通信技术到SoC到底层系统软件等各个基础技术领域的不断突破,才让华为有了“自建生态”的可能。而大家所不断传言的华为手机系统,其实也就是一个备胎,方舟编译器进可以大幅提升安卓系统的响应速度,让安卓手机的体验无限接近甚至超过iOS,退则可以在系统风险出现后,保障手机不会出现无系统无软件可用的境况。

值得一提的是,方舟编译器不仅支持所有安卓系统,更可以支持跨平台的使用,包括ARM平台、x86平台的硬件产品都可以使用,这就包括了各色各样的通讯设施,从这个角度来说,这也是5G时代打造一个全连接平台的重要基础所在。

EMUI9.1开启全新安卓时代

不管是EROFS超级文件系统,还是方舟编译器,都将在EMUI9.1上全面登场,这也成为华为EMUI近几年最受瞩目的系统版本。而事实上,P30pro上已经全面搭载了这个版本的EMUI,而且确实在流畅度上备受好评,现在这个系统会优先在那些手机上升级,能够支持到多老的型号,都是华为用户关注的焦点。尽管大家一直以来都能够看到华为手机在硬件比如拍照上的进步,但对于系统升级的热心,这恐怕还是热度最高的一次。

其实华为一直在安卓底层的优化上不遗余力,也是谷歌长期的友好合作伙伴,在EMUI5.0推出的18个月不卡顿就是通过进程管理和更换文件管理系统来实现的,冒着很大的风险把F2FS系统用在5.0上了,这个改变也引发了全行业的跟风,可以说从那一次开始,安卓系统真正在流畅度方面达到了一个全新的高度。而另一个EMUI的技术高点就是出现在GPU Turbo这个技术发布的时候了,这个号称吓死人的技术,第一次通过软件优化大幅提升了硬件GPU的性能表现,再度引发了行业跟风,不管有没有技术,谁家都会推出个XXX Turbo来做宣传。而在当时,什么机型可以支持这个技术,也就成为了华为用户最为关心的问题,而且这个技术大大缩短了麒麟芯片和高通芯片在GPU性能方面的差距,奠定了华为手机在麒麟980时代一举反超高通的基础。

在今年8月华为终端开发者大会,华为就将方舟编译器框架代码开源供大家了解,而到了11月绿盟开发者大会,这个编译器将会彻底开源,届时会带动更多的开发者来使用这个产品,而一个真正的华为生态也将就此启航。必须要说,华为在基础科学的研发上还是令人钦佩的,尤其是在短期无法看到商业价值的情况下,这种投入就更显得高瞻远瞩。用任正非的话讲就是“ 我们的(研发)标准是,在距离我们目标二十亿光年的地方,投一颗“芝麻”;距离目标两万公里的地方,投一个“苹果”;距离目标几千公里的地方,投一个“西瓜”;距离目标五公里的地方,我们投“范弗里特弹药量”,扑上去、撕开这个口子,纵向发展,横向扩张,产品就领先世界了。”

上一篇下一篇

猜你喜欢

热点阅读