您现在的位置: 首页 > 网站导航收录 > 百科知识百科知识
方舟编译器为什么连华为都要花10年时间(2009年开始)并且重金研发才将其搞定?
编译器,方舟,华为方舟编译器为什么连华为都要花10年时间(2009年开始)并且重金研发才将其搞定?
发布时间:2020-12-06加入收藏来源:互联网点击:
来先看看华为方舟编译器的研发路劲情况。据说这款编译器至少花费了10年时间,2009年华为就创建了该团队,也从那时候开始华为开始将打造自主的编译器作为该团队的目标。从发展路劲来看,2009-2013年华为开始研发编译器HCC,2014年建立了主架构,2015年推出编程语言CM,而2016为了扩大成功转化成立了专门的实验室,于是乎从2017年到如今,这款方舟编译器正式与开发者见面。其实从这个时间点来看,研发一款全新的编译器时间跨度非常大,不仅耗费财力还耗费时间成本。
尤其是根据资料来看,方舟编译器属于底层编译,这就意味着本身就需要克服各种复杂困难、系统工程,考验着一个公司的综合研发实力。优秀成果的背后离不开艰苦卓绝的奋斗和长久的蛰伏。
再来看现在的安卓生态,想要突破安卓现状却并非易事,编译器作为软件开发中的“皇冠”研发难度极大。华为为了开发这款编译器,花费10年,投入数百人的专家团队,经过多次尝试,最终做到了在兼容Java语言的基础上,彻底实现了机器代码的翻译。
先不讨论其他手机厂商用不用的问题,对于国内来说,如果想在编译器、甚至整个偏底层的系统软件方向有所突破,过去10年基本是不可能或者只能是“中国芯\"研究单位。所以至少来看,华为这款编译器的推出在某种意思来说是颠覆性的。从组装到整合,再到核心元器件逐渐自主化、系统深度优化/自研,自己曾经放弃和退缩的道路,如今正在成为现实。
回答于 2019-09-11 08:43:50
从事软件开发十几年,平时主要做的还是软件层面开发,软件开发完成之后就要进行编程,最后在机器上运行,绝大部分程序员很少关注编译器这个层面是如何实现的,编译器的工作量非常巨大,有点编译经验的人都会有点基础,只是C语言里面常见的编译错误就能有多少,可见这里面工作量的巨大,据说华为公司投入了至少上千人的做这个事情,而且这种事情还急不来需要稳扎稳打,不能有丝毫的马虎,构建属于自己的编译器是走向自己做操作系统的第一步,这一步起步最难,也是最基础的。
从09年华为就开始着手做这个事情,证明任何事情想要在技术上有所突破必须有十年磨一剑的耐性,华为公司这点做的的确让行业内佩服,最主要像编译器这种基础性的研究工作不是一朝一夕的事情,而且国内本身底子就比较薄弱,也就是资金充足的公司才能玩的事情,国内研究这些前言基础的公司从私企性质看就是华为互联网公司几个巨头的机会更大一些,阿里的阿里云系统完全的自主研发,也算是给国内科技公司争了很多脸面,华为在自主研发上做的一直不遗余力,在通讯领域,在芯片领域,在软件上也在慢慢发力,特别是构建自己的生态系统方面也在加大力度。
能够有自主研发需要有很大的魄力,布斯每个公司都有这种能力,毕竟研发新的东西或者基础技术,需要时间和资金的支持,如果中间放弃前面消耗的一切都完蛋了,阿里云的王坚在开始研发阶段承受了最大的压力,在12年的年会上也委屈的落下了眼泪,可见压力之大,越是技术的跨度越大,需要磨练的经验越多,承担的压力越大毕竟不是挣钱的部门在一起开会说话底气都不足,时间久了信心就容易受到影响。
华为从开始就树立了非常大理想和苑景,就是朝着世界第一去的,所以现在正在按部就班的向前走,为了达成目标肯定需要强大的技术支持,所以方舟实验室就是充当这么一个角色,未来技术的研发基地,也就是华为这种大公司才能有条件这么去做,如果放在初创期的公司首先要想到的是如何生存,如何获取现金流,如何采用商业的模式来运作,持续的花钱做事情对于任何一家都是都是要慎重考虑的事情,而且这种钱起来多未必真能见到效果,所以只有志向长远的公司才会持续做的事情。
国内太多的互联网公司就是一门心思的搞商业模式,对于核心在有了资金之后投入的也比较少,永远也冲不到国际上,只会在窝里横。一个科技最后决定命运的还是技术能力,从各个纬度可以想象华为正在为自己的操作系统铺路,正在构建自己的生态系统而努力。
希望能帮到你。
回答于 2019-09-11 08:43:50
大家开始关注华为方舟编译器,大概是从华为P30系列手机发布会开始的,因为这次P30发布会PPT上,有三页提到了方舟编译器。短短三页内容,可能大家并没有在意,但是方舟编译器却是一个杀手级的武器,它发挥的对于安卓的系统的优化作用是颠覆性的,堪称是一场安卓的性能革命。
方舟编译器能够发挥这么巨大的威力,主要在于它不是简单地在应用软件层对APP本身做调整,而是在安卓系统底层做系统级的优化,这相当于在重造安卓系统,这样的工程既费时又费钱。所以,即便是像华为这样的大公司,也需要十年时间持续不断投入才能产生效果。
优化安卓系统是一场持久战
早在2009年,华为就创建了编译组,因为海思做了芯片以后,需要有自己的编译器才能真正发挥芯片的能力。从2013年开始,华为推出了自己的编译器HCC,用在基站领域,这可以说是方舟编译器的前身。到了2014年,以Fred Chow等为代表的众多技术人才加入,在2016年华为成立编译器与编程语言实验室,一直到现在推出方舟编译器。
编译器作为系统软件,真的是一个“板凳要坐十年冷”的工程,稳得住才能做下来,非常的复杂。毕竟是涉及到安卓系统底层的架构,需要的研发时间自然就更长。
华为方舟编译器的威力
安卓系统虽然在不断演进,但始终需要虚拟机来实现解释和执行。话句话说安卓程序的虚拟机中有解释器和编译器,相当于是有两个翻译在运行。解释器好像现场翻译,演讲者讲一句,就需要停下来翻译一句给编译器,编译器则结合上下文一次翻译一大段。两个翻译同时在搞,于是你听到的内容就是断断续续的,你的系统就会变得非常卡顿。
而方舟编译器的内存回收机制是随用随回收,回收时无需暂停应用,因内存回收的随机卡顿就消除了。其次,方舟编译器是在应用打包的时候直接编译出了机器指令,无需繁琐的虚拟机运行,彻底消除了虚拟机的动态编译的额外开销,从边翻译边执行到提前编译机器码直接执行(运行时无需再编译),大幅提升了效率,让性能得到大幅提升。用量化的方式可以很好地看到这种性能提升的效果:有了方舟编译器的手机,能实现系统操作流畅度提升24%,系统响应性能提升44%。以微博极速版为例,安卓9.0的apk是9.7Mb,安装后是37.5Mb,而使用方舟编译器后的安装文件apk是23Mb,安装完后大约不到50Mb。但是,使用方舟编译器后的性能提升却是颠覆性的,微博极速版的操作流畅度提升了60%!
上一篇:烟台男子无证驾驶遇交警,应急车道内心虚换座终被罚, 你怎么看?
下一篇:返回列表
相关链接 |
||
网友回复(共有 0 条回复) |