當前位置:首頁 > 芯聞號 > 充電吧
[導讀]近日,華為的方舟編譯器終于迎來了開源,而且開源代碼還是承載在自家的官網(wǎng)上。面對這樣一個肩負「出于安卓,勝于安卓」使命的編譯器,自問世以來就備受大家的關注;此次開源,更是吸引了大眾的目光。 那么到底這個

近日,華為的方舟編譯器終于迎來了開源,而且開源代碼還是承載在自家的官網(wǎng)上。面對這樣一個肩負「出于安卓,勝于安卓」使命的編譯器,自問世以來就備受大家的關注;此次開源,更是吸引了大眾的目光。

那么到底這個編譯器從開發(fā)至今都經歷了哪些挑戰(zhàn)?獲得了哪些機遇?現(xiàn)在又擁有怎樣的魔力?它對于華為而言,意味著什么?特此,雷鋒網(wǎng) AI 開發(fā)者將華為方舟編譯器相關內容整理及編輯如下。

十年磨劍,華為「方舟」

為了造這艘「方舟」,華為磨劍十年。

2009 年,華為啟動 5G 基礎技術研究的同時,開始創(chuàng)建編譯組,第一批海內外研究人員加入。

2013 年,華為推出面向基站領域的自研編譯器 HCC,并正式提出編譯器框架構想。

2014 年,眾多海內外專家加入華為,方舟項目正式啟動。

2016 年,成立編譯器與編程語言實驗室。

2019 年,華為方舟編譯器正式面世。

據(jù)華為官方介紹,方舟編譯器是為支持多種編程語言、多種芯片平臺的聯(lián)合編譯、運行而設計的統(tǒng)一編程平臺,包含編譯器、工具鏈、運行時等關鍵部件。它是首個完全替代語言虛擬機的靜態(tài)編譯器,并且完全不需要解釋器,同時還兼顧 Java 開發(fā)效率和 C 語言運行效率。

8 月 31 日下午 17 時,方舟編譯器開源官網(wǎng)上線—;—;OpenArkCompiler(開源方舟編譯器),開放了框架源碼,開發(fā)者們可以下載源代碼包,了解熟悉方舟編譯器的架構思想。

OpenArkCompiler 介紹

面向多設備、支持多語言的統(tǒng)一編程平臺。

OpenArkCompiler 是來自華為方舟編譯器的開源項目。

OpenArkCompiler 四個技術特點

能能夠將不同語言代碼編譯成一套可執(zhí)行文件,在運行環(huán)境中高效執(zhí)行:

支持多語言聯(lián)合優(yōu)化、消除跨語言調用開銷;

更輕量的語言運行時;

軟硬協(xié)同充分發(fā)揮硬件能效;

支持多樣化的終端設備平臺

開源計劃

編編譯器框架代碼開源

OpenArkCompiler 開源范圍

編譯器 IR+中端語言實現(xiàn)

OpenArkCompiler 開放能力

框架開源供參考學習,了解方舟編譯器架構及框架代碼

開發(fā)者可構建出完整編譯器工具鏈,支持 Java Sample 程序編譯(非應用)

脫離GitHub,自主托管

目前方舟編譯器的源代碼已經都放出來了,但并沒有在 GitHub 開源。目前方舟編譯器的代碼托管在華為云與碼云平臺(https://code.opensource.huaweicloud.com/HarmonyOS/OpenArkCompiler/home),在未來走向開放治理以后,將按照所掛靠機構的模式來托管。如下所示為開源代碼的界面,里面包含了眾多代碼和文檔等文件。


方舟開源代碼界面

本次方舟編譯器開源的是編譯器框架部分源碼,包括編譯器中間表示(IR,Intermediate Representation)和語言編譯實現(xiàn),同時搭配編譯器其他二進制組件,實現(xiàn) Java 程序到 aarch64 匯編指令的編譯過程。開發(fā)者可基于開源代碼+二進制,編譯構建出編譯器工具鏈,嘗試對 Java 程序進行編譯。

社區(qū)參與者可以通過框架源碼學習方舟編譯器的編譯器中間表示(IR)及基本的中端編譯框架,熟悉方舟編譯器的架構思想,并參與諸如對編譯器中端優(yōu)化的貢獻。開發(fā)者則可通過代碼托管平臺參與社區(qū)貢獻,包括文檔貢獻和代碼貢獻,同時也可在此平臺上反饋相關問題和需求。


方舟編譯器當前開源范圍

盡管方舟編譯器暫時只支持 Java 和 Kotlin 程序輸入,但官方消息稱,方舟編譯器還在持續(xù)演進中,也將陸續(xù)實現(xiàn)更多功能的開源。根據(jù)之前華為在開發(fā)者大會上公布的信息,作為鴻蒙 OS 的重要工具,方舟編譯器從 2019 年 8 月開始,將分步驟持續(xù)進行開源。具體的開源計劃如下:

2020 年:開始開源 Java 編譯器工具鏈,支持 Java 程序編譯。

2021 年:開始開源 JavaScript 編譯器工具鏈,可用于 JS 程序的編譯。

架構示意圖


方舟編譯器架構示意圖

當前方舟編譯器支持 Java/Kotlin 程序字節(jié)碼的前端輸入,其它編程語言的支持(如 C/C++/JS 等)還在規(guī)劃中,方舟編譯器的中間表示(IR)轉換器將前端輸入轉換成方舟 IR,并輸送給后端的優(yōu)化器,最終生成二進制文件,二進制文件與編譯器運行時庫文件鏈接生成可執(zhí)行文件,在方舟的運行環(huán)境中就可執(zhí)行該文件。

方舟編譯器 IR 是支持程序編譯和運行的中間程序表示。程序源代碼中的任何信息對于程序分析和優(yōu)化都是有幫助的,所以方舟 IR 的目標是盡可能完整詳細地提供源程序的信息。關于方舟編譯器 IR 的詳細信息,可以參考(https://www.openarkcompiler.cn/document/frameworkDesgin)。

左秒虛擬機,右殺 JNI

華為宣稱,方舟編譯器可將安卓應用流暢度最高提升 60%,提升手機系統(tǒng)操作流暢度高達 24%,系統(tǒng)響應性能提升 44%。

根據(jù)華為實驗數(shù)據(jù),EMUI 9.1 在僅僅對系統(tǒng)組件 System Server 應用了華為方舟編譯器后,系統(tǒng)操作流暢度提升 24%,系統(tǒng)響應性能提升 44%。新浪微博極速版是第一款采用方舟編譯器的第三方應用,操作流暢度提升 60%。

「出于安卓,勝于安卓,超越 iOS,并且全面兼容安卓」,是方舟編譯器的使命。目前,方舟已經可以實現(xiàn)「混合語言的統(tǒng)一中間表示和完全靜態(tài)編譯」。這也正是它主要的兩大優(yōu)點:

方舟編譯器首次在 Java 領域將虛擬機去掉了,也是軟件史上首次將 Java/C/C++等混合代碼一次編譯成機器碼直接在手機上運行,徹底告別 Java 的 JNI 額外開銷,采用內存回收機制,使操作流暢度大幅提升。

方舟編譯器用空間換性能,因此可直接將編譯器的代碼優(yōu),并化搬到了開發(fā)者環(huán)境;使得開發(fā)者不再被手機端的硬件資源所限制,為代碼優(yōu)化提供了無限可能。

我命由我不由天

正如華為自己所寫:「方舟編譯器開源打響了鴻蒙 OS 開源的第一槍。通過持續(xù)的開放、開源,華為將把自己在軟件方面的技術能力不斷貢獻給行業(yè),同時在開源社區(qū)中,更多的開發(fā)者可以參與并貢獻自己的力量,共同推進基礎軟件的發(fā)展?!?/p>

方舟編譯器的開源并非偶然,而是華為一直精心運營的一步棋。當這步棋落下的那一刻,也代表了華為進一步實現(xiàn)技術自主權的時候;而正是這樣的獨立,才讓華為在面對美國一次又一次的強勢打壓之下,依然保持了頑強、不屈服的態(tài)度。


方舟編譯器合作第三方應用

根據(jù)官方信息,華為堅持每年將銷售收入的 10% 以上投入到研發(fā)中,技術成果不斷涌現(xiàn),軟件能力持續(xù)增強;并且在此基礎上,華為也保持著開放、合作、共贏的態(tài)度,不斷推進產業(yè)創(chuàng)新與開放生態(tài)。從官網(wǎng)的介紹,我們可以看到目前已有 46 款 APP 使用了方舟編譯器進行優(yōu)化與性能提升,其中包括我們常用的支付寶、優(yōu)酷、微博等應用。

現(xiàn)在方舟編譯器正式開源,或許也正意味著華為正在從開源領域的主要參與者變成引領者。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉