当前位置:首页 >  技术 >  正文

华为方舟编译器正式开源,开发者终于找到组织了

 2019-09-03 20:26  来源: A5专栏   我来投稿   万能的大熊的个人主页 撤稿纠错

  短视频,自媒体,达人种草一站服务

华为的方舟编译器一直以来都是行业瞩目的对象,作为中国企业首度研发的编译器产品,如果能够顺利启用,那么未来中国科技行业很多地方都可以不再受制于人,是非常关键的一个技术产品。

这么重要的技术,其研发从来不是一件简单的事情,也绝非用短短一两年功夫就可以做到了。其实早在10年前,华为就组建了一支由海内外尖端研发人员组成的编译组,而4年后,华为推出面向基站领域的编译器HCC,并正式提出编译器框架构想。到2019年才正式发布方舟编译器,足见华为的谨慎和项目的困难。

而在8月31日,华为方舟编译器正式宣布开源,框架开源代码公之于众,可以说是引发了行业的关注和震动,也迈出了自己重构核心生态的关键一步。

方舟编译器开源,华为自主技术与开发者生态再进一步

本次方舟编译器开放的框架代码包括编译器中间表示(IR)和语言编译实现,同时搭配编译器其他二进制组件,实现Java程序到aarch64汇编指令的编译过程。开发者可基于开源代码+二进制,编译构建出编译器工具链,尝试对Java程序进行编译。社区参与者可以通过框架源码学习方舟编译器的编译器中间表达(IR)及基本的中端编译框架,熟悉方舟编译器的架构思想,并参与诸如对编译器中端优化的贡献。同时华为也上线了自己的开源社区,并在努力引入更多的国内技术大厂共同进行建设,这也是行业的一件大事,说是一个时代的开启也不为过。

(方舟编译器整体框架 )

而方舟编译器对开发者、对华为、对手机厂商的研发部分而言,也有着格外的价值和意义。因为,从安卓系统问世至今已经有11年的时间,然而,安卓的诟病却十一年如一日的未解。一方面,对用户来说,始终感觉低了苹果手机一头,用一段时间之后往往就会出现卡顿等问题。另一方面,对开发者来说,随着安卓系统的不断大幅升级迭代,碎片化系统和机型越来越多,开发的效率和成本代价也日趋增加,繁重的开发任务也让开发者有苦难言。

而究其原因,主要在于Java的“虚拟机”机制。安卓系统初期为了吸引开发者,选择了开发者使用较多的Java语言,并使用虚拟机来运行应用。在虚拟机里,还需要集成翻译器或者编译器,来将Java的字节码(即中间代码)解释成机器听得懂的机器语言,或者直接编译成机器直接执行的010101的机器码。这个边解释边执行的过程,就是安卓不够流畅的原因之一。虽然在2014年10月,谷歌推出了Android 5.0版本,将虚拟机从Dalvik替代成ART(Android Run Time),并对Dalvik的纯JIT编译方式做了改进。但安卓手机的体验仍然不如苹果手机,在使用APP的过程中,用户总是觉得安卓手机比苹果手机要慢。

而具体到此次开源的华为方舟编译器,其一大突破就是不再需要依赖Android的ART虚拟机,有望解决安卓虚拟机存在的性能问题可以说,华为方舟编译器的开源,对华为手机、开发者和其他手机厂商来说,都是一次颠覆安卓传统“恶习”的革命,也是华为自主技术和开发者生态的再进一步。

华为方舟编译器将为开发者打造“五星级”开发环境

华为方舟编译器作为中国自主技术研发的编译运行系统,从官方宣传中可以看出其定位的是面向开发者的支持多语言、支持平台的编程平台。也就是说未来应用开发将使用方舟编译器的相关部件,包括编译器、调试器、调优工具,并且通过支撑多语言、消除跨语言的调用开销,帮助开发者在选择编程语言时不用再纠结语言的性能问题。对多平台的支持,也将帮助开发在未来的多端设备开发上,始终使用同一套编程平台,不用在不同的开发平台间来回切换。这也相当于为开发者打造了一个“五星级”的舒适开发环境,不再为传统的终端程序开发而“心塞不已”,可以更省心、高效的进行各种程序应用的开发、调试和升级迭代。华为方舟编译器还直接将编译器的代码优化搬到了开发者环境,不再被手机端的硬件资源所限制,这更是让数以万计的开发者为代码优化提供了无限可能。

有知乎网友大胆猜测,“华为的野心是,Java、Java、Python、C、C++都要翻译到Maple IR,并且Maple IR是为了在芯片上运行做优化为目的的语言。”

另有专业网友发帖称,“今天把官方给的(方舟编译器)文档和源代码都解读(翻译了)一遍,目前读下来的感觉是:把Java的类、接口、异常处理、都做了,工作量真的挺大的。国人自己搞一个这么硬核的项目,在以前是没有的。能把Java翻译到自己设计的语言上,再执行对,太难了,工作量超级大,可以说国内做这种级别的东西,可谓是第一次。”

也有人直言,“(方舟编译器)这种级别的控制复杂度,和建立抽象的能力,以前貌似是只有老外这么干过”,“就算搞个跟国外进化下来的最强开源的,一样牛逼的,只要是自己一行一行写起来的,那已经很吊了”。

华为的一小步,行业的一大步,自主技术创新大生态时代已然到来

值得一提的是,开发者使用方舟编译器,并不需要改变原来的编码习惯。开发者可以自行开发代码优化算法,也可以仅通过方舟编译器预置的算法进行代码优化。而未来,华为还将提供代码调优工具,开发者可以选择根据工具的优化建议来调整代码,和方舟编译器配合获得更优的执行效果。

不难预见的是,随着未来数以万计的开发者使用方舟编译器,手机用户的体验也将在不久之后达到一个前所未有的高度。而这对于整个终端生态,可以说华为都是做了一件世界前所未有的大事件。

从技术突破上看,华为方舟编译器团队是基于多个编程语言的深刻理解和大量研发积累,将混合语言开创性的实现了统一的中间表示IR,这就相当于同一个人能够理解全世界的语言。而这,可以说更是华为自主技术创新的又一次革命性突破。

根据华为在开发者大会上公布的信息,作为鸿蒙OS的重要工具,方舟编译器从今年开始,将持续进行开源。譬如,明年计划开放Java编译器工具链,支持Java程序编译;后年则计划开放对Java语言的支持能力,用于JS应用的编译。

值得注意的是,不仅方舟编译器,就连华为的鸿蒙OS也将陆续开源。而华为通过这种持续的开放、开源,正是在将自身十多年来的研发成果和技术能力不断贡献给行业,同时在开源社区中,吸引更多的开发者参与并贡献自己的力量,藉此共同推进中国自主技术和开源盛世的发展。

整体来看,对于华为这样的超级技术型企业而言,方舟编译器的开源可能只是一小步,但是对整个行业而言,对世界舞台而言,却是十足的一大步,是对中国乃至全球开源领域的强势引领。可以期待的是,以华为的实力和眼光、高度,华为势必还将持续拥抱开源,更有望继续在主流基金会及开源社区中积极贡献,进而为全球亿万开发者进行更深入、更全面的赋能,最终引领一个自主技术创新大生态时代的全面到来。

申请创业报道,分享创业好点子。点击此处,共同探讨创业新机遇!

作者: 万能的大熊    /    文章:306篇

相关文章

  • MongoDB全球云端技术盛会MongoDB.live

    MongoDB全球云端技术盛会MongoDB.live,将于北京时间6月9日22:00正式开启,大会将以在线直播+按需学习相结合的方式,面向全球开发者、架构师等MongoDB用户和爱好者免费开放

    标签:
    云计算
    技术
  • Linux和windows系统之间的区别

    如今,主流的操作系统由三类,Windows和MacOS相信大家都不陌生,他们是我们平常最熟知的操作系统。那另一种操作系统是什么呢?当然就是Linux操作系统。Linux系统正是因为它开源且免费、跨平台等优良的特性,深受码农们的喜爱。

  • ECC+RSA双证书解决方案

    ECC是EllipticCurvesCryptography的缩写,意为椭圆曲线密码编码学。和RSA算法一样,ECC算法也属于公开密钥算法。最初由Koblitz和Miller两人于1985年提出,其数学基础是利用椭圆曲线上的有理点构成Abel加法群上椭圆离散对数的计算困难性。

    标签:
    技术
  • Citrix—Nutanix—Bitdefender VDI联合解决方案

    在技术世界中,很少有三个定位独特的供应商会聚在一起,提供一种统一解决方案,以解决安全,性能和运营问题,Bitdefender,Citrix和Nutanix三家巨头携手,通过战略合作,提供了高效,可扩展且安全的解决方案,帮助组织充分发挥VDI的潜力。

  • 301重定向如何设置,301重定向对优化有什么优势!

    在我们日常的网站优化当中,经常会看到搜索引擎收录的是有带www和不带www的页面,觉得很烦,不知道咋回事,那是因为你没有做301重定向的原因,所以的把这个网站做301重定向了,才能避免收录不出现这样的情况,那么具体301重定向对我们优化有哪些好处呢?接下来有南帝seo给大家细细道来!

  • 拦路抢劫!这样的提示框你遇到过吗?

    近日一位网友在家上网时,iPhoneSafari网页里经常弹出“在手机淘宝中打开链接吗?”的提示框作为一名iOS码农,他很自然的知道这是网页在调用淘宝app的URL

  • 【融云分析】基于 AVFoundation 框架开发小视频功能的方案解析

    开发视频录制功能最简单的就是使用系统封装的UIImagePickerController,但是这种方式比较封闭,可自定义东西比较少,所以就需要基于AVFoundation框架来开发视频录制功能。基于AVFoundation框架来开发,则需要自己手动设置设备音频,视频输入、输出。

    标签:
    软件开发
  • Linux系统推荐学习的编程语言以及经验

    初来乍到,作为一个小白,我想记录自己学习进步,一是在未来回看时,发现自己的进步,其次就是希望能通过自己的学习之路,给未来的走向这条道路的兄弟指引一条道路。

  • 和利时LKS安全PLC在RiskCloud中的PFDavg计算

    和利时始创于1993年,是中国领先的自动化与信息技术解决方案供应商。践行“用自动化改进人们的工作、生活和环境”企业宗旨,致力于提升客户的生产效率和产品品质,并保障客户的生产安全和降低环境污染。

    标签:
    数字技术
  • 从Spring Cloud到UCloud UK8S的微服务迁移实践

    要出发周边游(以下简称要出发)是国内知名的主打「周边游」的在线旅行网站,以国内各大城市为中心,覆盖其周边旅游市场,提供包含酒店、门票、餐饮等在内的1–3天短途旅行套餐。为了降低公司内部各个业务模块的耦合度

    标签:
    软件开发
榜单

热门排行

信息推荐

扫一扫关注最新创业资讯