華為方舟編譯器開源了,還公布了這 45 個合作伙伴
8 月最后一天,華為方舟編譯器開源官網(wǎng)正式上線(https://www.openarkcompiler.cn/home),首次將框架源碼對外開放并提供了環(huán)境配置、開發(fā)者指南、演示等資料下載。

本次開源的是編譯器框架部分源碼,包括編譯器中間表示(IR)和語言編譯實現(xiàn),同時搭配編譯器其他二進(jìn)制組件,實現(xiàn) Java 程序到 aarch64 匯編指令的編譯過程。開發(fā)者可基于開源代碼+二進(jìn)制,編譯構(gòu)建出編譯器工具鏈,嘗試對 Java 程序進(jìn)行編譯。
根據(jù)華為公布的時間表,后續(xù)還將開源編譯器前端、后端;支持 Java 程序編譯、JavaScript 語言應(yīng)用的編譯等。現(xiàn)在的官網(wǎng)也只是方舟編譯器孵化期間的網(wǎng)站,「正式畢業(yè)后的官網(wǎng)待定」。

▲ 方舟編譯器框架 圖片來自:方舟編譯器官網(wǎng)
方舟編譯器面向全球開發(fā)者進(jìn)行開源,因此官方網(wǎng)站和托管平臺同樣向全球開發(fā)者開放,英文網(wǎng)站已在開發(fā)和內(nèi)測中,計劃于 2019 年第四季度上線。
這里有必要復(fù)習(xí)一下方舟編譯器的概念。顧名思義,編譯器相當(dāng)于一個翻譯器,將程序員編程使用的高級語言翻譯成機器能懂的代碼,目前 Android 系統(tǒng)的應(yīng)用運行時主要采用邊「翻譯」邊執(zhí)行的模式,會消耗部分資源且影響運行效率,而華為的方舟編譯器則優(yōu)化了這個過程,在開發(fā)環(huán)境中完成全部代碼編譯,所以應(yīng)用在運行時不需要再經(jīng)過編譯即可直接將操作指令送達(dá)處理器執(zhí)行,給用戶帶來的直觀感受就是系統(tǒng)更流程、應(yīng)用運行更快了。

▲圖片來自:CNBETA
根據(jù)華為實驗室的測試數(shù)據(jù),EMUI 9.1 僅系統(tǒng)組件 System Server 應(yīng)用了華為方舟編譯器后,系統(tǒng)操作流暢度提升 24%,系統(tǒng)響應(yīng)性能提升 44%。
可以說,作為普通用戶,我們雖然不會直接接觸到方舟編譯器,但卻是該技術(shù)的直接受益者。
Android 版的支付寶前不久就因為更新后啟動速度和響應(yīng)速度大為提升,被網(wǎng)友猜測是采用了方舟編譯器,雖然官方后來澄清是通過容器框架原生化、虛擬機調(diào)優(yōu)等方式改善了使用體驗,但在方舟編譯器官網(wǎng)列出的合作伙伴中,支付寶赫然在列,此外還有新浪微博、淘寶、抖音、QQ、等常用應(yīng)用共 45 個。

方舟編譯器要發(fā)揮實際作用,正是需要各應(yīng)用開發(fā)者的支持,如果這些大公司確實基于方舟開發(fā)出相應(yīng)的版本,想必能帶動更多應(yīng)用「上船」,到時候消費者才能真正享受到方舟編譯器帶來的好處。
如果方舟編譯器取得不錯的效果,也有望帶動華為手機的銷量,目前已有多款華為和榮耀機型支持方舟編譯器,當(dāng)然,方舟編譯器的成功無疑也將為鴻蒙 OS 打下堅實的基礎(chǔ)。