为何要搞10年?方舟编译器专家首次回应

Posted OSC开源社区

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为何要搞10年?方舟编译器专家首次回应相关的知识,希望对你有一定的参考价值。

昨天华为正式,一时间引起热议。在方舟技术专家所在的微信群中,关于为何方舟需要研发 10 年的问题被首次回应。

JFinal 作者詹波的疑惑是为什么方舟编译器需要花费 10 年时间才实现:

方舟编译器官网的深度解密文章表明,做出方舟编译器的难度极大。我理解为比做一个 C++ 编译器的难度要大得多得多,否则打造方舟编译器不会需要十年时间。

而 C++ 远比 Java 复杂度高,为什么做一个 Java 编译器的难度会远比做 C++ 编译器要高得多呢?

官网的方舟深度解密文章中并未透彻说明核心难点在哪里。

关于方舟编译器的深度解析,可以查看:

方舟专家不闲解答了他的疑惑,他介绍,首先在构思方舟的时候华为并没有选择 C++,是因为国内生态开发者主要还是 Java/Kotlin 为主,而 Java 本身是动态语言,如果要能够在服务器侧做到静态编译,又不能动手裁剪语言的动态能力,就需要 IR,运行时,编译器以及编程框架一起修改。这还要考虑复杂的兼容问题,导致技术方案选型的困难。

其次要想提高流畅度,需要提升内存使用效率、提升 JNI 效率,需要想尽办法控制动态绑定对性能的影响,需要 profile 上有更准确的信息,这是系统工程上的困难。
为何要搞10年?方舟编译器专家首次回应
不闲表示,其实二进制编译也只是一种技术路线,简单的 AOT 也是生成二进制,问题的关键是如何提升编译后的代码执行效率,这是当前的主要困难。 做出一个可以工作的不难,难在做出世界顶尖性能。 “甲骨文、Jetbrains 等很多海外公司都在做类似尝试,如果不是有大牛压台……我们国内能做 IR 设计和内存模型的人很少,大家也都不再用汇编编程了。
为何要搞10年?方舟编译器专家首次回应

欢迎留言探讨。

开源中国征稿啦!


开源中国 www.oschina.net 是目前备受关注、具有强大影响力的开源技术社区,拥有超过 400 万的开源技术精英。我们传播开源的理念,推广开源项目,为 IT 开发者提供一个发现、使用、并交流开源技术的平台。


现在我们开始对外征稿啦!如果你有优秀的技术文章想要分享,热点的行业资讯需要报道等等,欢迎联系开源中国进行投稿。投稿详情及联系方式请参见:

推荐阅读

以上是关于为何要搞10年?方舟编译器专家首次回应的主要内容,如果未能解决你的问题,请参考以下文章

为何而生?详解华为方舟编译器

华为方舟编译器,了解一下

华为“方舟编译器”到底是啥?一文看懂TA如何让手机性能再突破

开源被喷,闭源被疑:方舟编译器怎么这么难?

涨知识!关注方舟编译器的攻城狮看过来!

华为新贵!方舟编译器的荣光和使命