首頁 > 文章內容

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

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

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

此次公布方舟編譯器框架源碼后,華為預計將于2020年及以后實現方舟編譯器工具鏈完整開源。

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

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

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

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

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

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

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

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

責任編輯:

相關推薦

相關新聞

回到首頁 回到頂部

網站簡介 - 廣告服務 - 誠聘英才 - 聯系我們 - 法律聲明 - 友情鏈接

加拿大快乐8作假吗