2核1G3M服务器88一季度

腾讯云,阿里云百度云等 折扣价→点我←

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

qwqdanchun 三级用户组

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

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

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

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

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

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

其次要想提高流畅度,需要提升内存使用效率、提升JNI效率,需要想尽办法控制动态绑定对性能的影响,需要profile上有更准确的信息,这是系统工程上的困难。

不闲表示,其实二进制编译也只是一种技术路线,简单的AOT也是生成二进制,问题的关键是如何提升编译后的代码执行效率,这是当前的主要困难。做出一个可以工作的不难,难在做出世界顶尖性能。“甲骨文、Jetbrains等很多海外公司都在做类似尝试,如果不是有大牛压台……我们国内能做IR设计和内存模型的人很少,大家也都不再用汇编编程了。”

TAGS 方舟

站长窝论坛版权声明 1、本帖标题:为何要搞 10 年?方舟编译器专家首次回应
2、论坛网址:站长窝论坛
3、站长窝论坛的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
4、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
5、站长窝论坛一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6、本帖由qwqdanchun在站长窝论坛《交流综合区》版块原创发布, 转载请注明出处!
评论
最新回复 (1)
返回