(原標題:最前線 | 方舟編譯器正式開源,BAT三家應用均有合作)

8月31日,華爲方舟編譯器開源官網正式上線,並首次開放了框架源碼。

本次方舟編譯器開源的是編譯器框架部分源碼,包括編譯器中間表示(IR)和語言編譯實現,同時搭配編譯器其他二進制組件,實現Java程序到aarch64彙編指令的編譯過程。開發者可基於開源代碼+二進制,編譯構建出編譯器工具鏈,嘗試對Java程序進行編譯。當前,方舟編譯器支持Java/Kotlin程序字節碼的前端輸入,其它編程語言的支持(如C/C++/JS等)還在規劃中。

此次公佈方舟編譯器框架源碼後,華爲預計將於2020年及以後實現方舟編譯器工具鏈完整開源。

根據官網資料顯示,方舟編譯器已與45多款應用合作,包括淘寶、天貓、支付寶、優酷、愛奇藝、美團、今日頭條、微博、新浪、網易、騰訊新聞等主流應用,BAT三家旗下應用均有合作,不過微信不在其中。華爲稱將對各類流行應用進行編譯優化,並在未來不久上線。

最前線 | 方舟編譯器正式開源,BAT三家應用均有合作

據華爲CBG軟件部總裁王成錄介紹,華爲2009年就開始爲編譯器做準備,2013年有了自己的編譯器HCC,2014年引入了Fred Chow等技術大牛,來做華爲編譯器的主架構。此後,2012年實驗室成立了編譯器與編程語言實驗室,今年4月推出了方舟編譯器。

編譯器是一種語言(通常爲高級語言)翻譯爲另一種語言(通常爲低級語言)的程序,可以將源代碼翻譯成可以被計算機或虛擬機執行的代碼。華爲方舟編譯器可供開發者,在開發環境一次性將高級語言編譯爲機器碼,可以讓手機安裝的APP運行效率明顯提升。

相比於安卓原生系統,方舟編譯器可以明顯提升系統運行效率。首先,它是多語言聯合優化編譯器,消除跨語言調用開銷,這是影響Android性能消耗較大的核心原因之一。其次,把虛擬機去掉了,內存回收機制。虛擬機可以幫助安卓系統適配各種處理器,實現跨平臺操作,但也會佔用額外的系統資源。

華爲宣稱,方舟編譯器可將安卓應用流暢度最高提升60%。據華爲實驗室測試數據,EMUI 9.1在僅僅對系統組件System Server應用了華爲方舟編譯器後,系統操作流暢度提升24%,系統響應性能提升44%。新浪微博極速版是第一款採用方舟編譯器的第三方應用,操作流暢度提升60%。

最前線 | 方舟編譯器正式開源,BAT三家應用均有合作

談及華爲之所以要做方舟編譯器,王成錄解釋:“由於安卓的開放性,對上層應用沒有強制規則。比如安卓的第三方應用市場非常多,數量無法統計;安卓的安裝方式也非常多,通過郵件都可以安裝,由此帶來的問題比較多。所以安卓用戶要真正能夠獲得好的體驗,手機廠家只把手機(硬件)做好是不夠的,(還需要對軟件進行提升)。”

值得一提的是,華爲在國內EMUI在歷代版本的更新當中,除了Linux的安卓內核外,已逐步把安卓系統的很多部分替代了。方舟編譯器也是其中關鍵步驟之一,取代了安卓原生系統虛擬機的位置。

華爲此舉,可以認爲是將安卓系統過渡到自研系統的鋪墊。在華爲最新發布的EMUI 10當中,已經具備了很多與鴻蒙相似的優點,包括硬件能力互助共享、一次開發多端部署等等。如果未來進一步把Linux內核替代爲鴻蒙內核,在國內市場實現平穩遷移並非不可能。(李振梁)

相關文章