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

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

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

十年磨劍,華為「方舟」

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

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

2013 年,華為推出面向基站領(lǐng)域的自研編譯器 HCC,并正式提出編譯器框架構(gòu)想。

2014 年,眾多海內(nèi)外專家加入華為,方舟項(xiàng)目正式啟動(dòng)。

2016 年,成立編譯器與編程語(yǔ)言實(shí)驗(yàn)室。

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

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

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

OpenArkCompiler 介紹

面向多設(shè)備、支持多語(yǔ)言的統(tǒng)一編程平臺(tái)。

OpenArkCompiler 是來(lái)自華為方舟編譯器的開源項(xiàng)目。

OpenArkCompiler 四個(gè)技術(shù)特點(diǎn)

能能夠?qū)⒉煌Z(yǔ)言代碼編譯成一套可執(zhí)行文件,在運(yùn)行環(huán)境中高效執(zhí)行:

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

更輕量的語(yǔ)言運(yùn)行時(shí);

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

支持多樣化的終端設(shè)備平臺(tái)

開源計(jì)劃

編編譯器框架代碼開源

OpenArkCompiler 開源范圍

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

OpenArkCompiler 開放能力

框架開源供參考學(xué)習(xí),了解方舟編譯器架構(gòu)及框架代碼

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

脫離GitHub,自主托管

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


方舟開源代碼界面

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

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


方舟編譯器當(dāng)前開源范圍

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

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

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

架構(gòu)示意圖


方舟編譯器架構(gòu)示意圖

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

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

左秒虛擬機(jī),右殺 JNI

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

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

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

方舟編譯器首次在 Java 領(lǐng)域?qū)⑻摂M機(jī)去掉了,也是軟件史上首次將 Java/C/C++等混合代碼一次編譯成機(jī)器碼直接在手機(jī)上運(yùn)行,徹底告別 Java 的 JNI 額外開銷,采用內(nèi)存回收機(jī)制,使操作流暢度大幅提升。

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

我命由我不由天

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

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


方舟編譯器合作第三方應(yīng)用

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

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

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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

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

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

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

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

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

關(guān)鍵字: 騰訊 編碼器 CPU

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

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

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

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

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

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

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

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

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

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉