重磅!华为方舟编译器招募 2000 程序员!( 四 )

“被迫”诞生的“方舟”:没有粮?自己种!

正如神话传说中,每一个英雄的诞生,都是为了拯救而来。

“方舟”也不例外。

当时华为遇到的困局是:一般编译器,都是用虚拟机的运行方式。它的原始模式,是从Java转成DEX文件,然后在手机上安装,安装完之后,再进行运行安装。

但整个虚拟机,使用的是混合式执行模式,它在执行这个模式时,会不断地切换、并产生一些开销。为这个问题,华为内部讨论颇久。

很多人说,应该在现有虚拟机上改,还有另外一种方案,即华为另起炉灶,自己做一套能够执行Java的运行环境和编译器。

当时,很多人赞同走第一条路,因为第一条路最省事,投入也不大,还能快速看到效果。

但是,“方舟”团队认为,直接在虚拟机上改,只是治标不治本,华为可以优化GC(Garbage Collector,垃圾收集器),也可以优化JIT(Just In Time,准时制生产方式)。但这样无法彻底解决问题。

推荐阅读