方舟编译器我记得不是一个给程序员用的编译工具吗?为啥现在所有社区里吹它的都是一些自媒体,,,好像没有找到他是干嘛的和它的原理还有应用。这不应该是一个技术话题吗?
方舟编译器有没有了解的
javascript
103 views
方舟编译器我记得不是一个给程序员用的编译工具吗?为啥现在所有社区里吹它的都是一些自媒体,,,好像没有找到他是干嘛的和它的原理还有应用。这不应该是一个技术话题吗?
一个编译器出来也不是用来吹的啊,再说了方舟编译器并不是和LLVM那种神级编译器底层可以匹敌的项目。自媒体吹它莫过于因为它是华为推出的项目,在舆论环境中对“国产”的病态追求更容易让自媒体抓住流量罢了,选择吹它也有它的商业价值,至于有没有像他们吹的那么强,确实是不见得。在19年刚开源不久的时候,网上营销号在吹用方舟编译器支付宝开屏速度大幅提升,但随后支付宝官方在知乎亲自说明是因为程序优化而并非方舟编译器,从中可以看出自媒体的成分。
至于原理方面,因为它已经淡出公众视野一段时间了,我就说一下我了解过的部分就好,我也不是研究编译器的。原本好像说是要开发出来替换ART的,但后来好像还没做到。它的思路是将Java/Kotlin(或其他语言,但不知道支持怎么样)尽可能静态化编译,取代安卓Java Native Interface(JNI),并将RC作为内存管理的主要手段来提升程序速度。并把多个语言编译到同一个IR。
原理知乎上有很多大佬解读,当然有能力可以去gitee上自己看源码。淡出社区并不是什么坏事,毕竟最强大的那些底层基础从来都是热度不高而有至关重要的作用的,毕竟底层道阻且长,仍需潜心的研发而不是媒体作秀的吹嘘。