原標(biāo)題:華為方舟編譯器正式開(kāi)源,開(kāi)發(fā)者終于找到組織了
華為的方舟編譯器一直以來(lái)都是行業(yè)矚目的對(duì)象,作為中國(guó)企業(yè)首度研發(fā)的編譯器產(chǎn)品,如果能夠順利啟用,那么未來(lái)中國(guó)科技行業(yè)很多地方都可以不再受制于人,是非常關(guān)鍵的一個(gè)技術(shù)產(chǎn)品。
這么重要的技術(shù),其研發(fā)從來(lái)不是一件簡(jiǎn)單的事情,也絕非用短短一兩年功夫就可以做到了。其實(shí)早在10年前,華為就組建了一支由海內(nèi)外尖端研發(fā)人員組成的編譯組,而4年后,華為推出面向基站領(lǐng)域的編譯器HCC,并正式提出編譯器框架構(gòu)想。到2019年才正式發(fā)布方舟編譯器,足見(jiàn)華為的謹(jǐn)慎和項(xiàng)目的困難。
而在8月31日,華為方舟編譯器正式宣布開(kāi)源,框架開(kāi)源代碼公之于眾,可以說(shuō)是引發(fā)了行業(yè)的關(guān)注和震動(dòng),也邁出了自己重構(gòu)核心生態(tài)的關(guān)鍵一步。
方舟編譯器開(kāi)源,華為自主技術(shù)與開(kāi)發(fā)者生態(tài)再進(jìn)一步
本次方舟編譯器開(kāi)放的框架代碼包括編譯器中間表示(IR)和語(yǔ)言編譯實(shí)現(xiàn),同時(shí)搭配編譯器其他二進(jìn)制組件,實(shí)現(xiàn)Java程序到aarch64匯編指令的編譯過(guò)程。開(kāi)發(fā)者可基于開(kāi)源代碼+二進(jìn)制,編譯構(gòu)建出編譯器工具鏈,嘗試對(duì)Java程序進(jìn)行編譯。社區(qū)參與者可以通過(guò)框架源碼學(xué)習(xí)方舟編譯器的編譯器中間表達(dá)(IR)及基本的中端編譯框架,熟悉方舟編譯器的架構(gòu)思想,并參與諸如對(duì)編譯器中端優(yōu)化的貢獻(xiàn)。同時(shí)華為也上線了自己的開(kāi)源社區(qū),并在努力引入更多的國(guó)內(nèi)技術(shù)大廠共同進(jìn)行建設(shè),這也是行業(yè)的一件大事,說(shuō)是一個(gè)時(shí)代的開(kāi)啟也不為過(guò)。
(方舟編譯器整體框架 )
而方舟編譯器對(duì)開(kāi)發(fā)者、對(duì)華為、對(duì)手機(jī)廠商的研發(fā)部分而言,也有著格外的價(jià)值和意義。因?yàn)?,從安卓系統(tǒng)問(wèn)世至今已經(jīng)有11年的時(shí)間,然而,安卓的詬病卻十一年如一日的未解。一方面,對(duì)用戶來(lái)說(shuō),始終感覺(jué)低了蘋(píng)果手機(jī)一頭,用一段時(shí)間之后往往就會(huì)出現(xiàn)卡頓等問(wèn)題。另一方面,對(duì)開(kāi)發(fā)者來(lái)說(shuō),隨著安卓系統(tǒng)的不斷大幅升級(jí)迭代,碎片化系統(tǒng)和機(jī)型越來(lái)越多,開(kāi)發(fā)的效率和成本代價(jià)也日趨增加,繁重的開(kāi)發(fā)任務(wù)也讓開(kāi)發(fā)者有苦難言。
而究其原因,主要在于Java的“虛擬機(jī)”機(jī)制。安卓系統(tǒng)初期為了吸引開(kāi)發(fā)者,選擇了開(kāi)發(fā)者使用較多的Java語(yǔ)言,并使用虛擬機(jī)來(lái)運(yùn)行應(yīng)用。在虛擬機(jī)里,還需要集成翻譯器或者編譯器,來(lái)將Java的字節(jié)碼(即中間代碼)解釋成機(jī)器聽(tīng)得懂的機(jī)器語(yǔ)言,或者直接編譯成機(jī)器直接執(zhí)行的010101的機(jī)器碼。這個(gè)邊解釋邊執(zhí)行的過(guò)程,就是安卓不夠流暢的原因之一。雖然在2014年10月,谷歌推出了Android 5.0版本,將虛擬機(jī)從Dalvik替代成ART(Android Run Time),并對(duì)Dalvik的純JIT編譯方式做了改進(jìn)。但安卓手機(jī)的體驗(yàn)仍然不如蘋(píng)果手機(jī),在使用APP的過(guò)程中,用戶總是覺(jué)得安卓手機(jī)比蘋(píng)果手機(jī)要慢。
而具體到此次開(kāi)源的華為方舟編譯器,其一大突破就是不再需要依賴Android的ART虛擬機(jī),有望解決安卓虛擬機(jī)存在的性能問(wèn)題可以說(shuō),華為方舟編譯器的開(kāi)源,對(duì)華為手機(jī)、開(kāi)發(fā)者和其他手機(jī)廠商來(lái)說(shuō),都是一次顛覆安卓傳統(tǒng)“惡習(xí)”的革命,也是華為自主技術(shù)和開(kāi)發(fā)者生態(tài)的再進(jìn)一步。
華為方舟編譯器將為開(kāi)發(fā)者打造“五星級(jí)”開(kāi)發(fā)環(huán)境
華為方舟編譯器作為中國(guó)自主技術(shù)研發(fā)的編譯運(yùn)行系統(tǒng),從官方宣傳中可以看出其定位的是面向開(kāi)發(fā)者的支持多語(yǔ)言、支持平臺(tái)的編程平臺(tái)。也就是說(shuō)未來(lái)應(yīng)用開(kāi)發(fā)將使用方舟編譯器的相關(guān)部件,包括編譯器、調(diào)試器、調(diào)優(yōu)工具,并且通過(guò)支撐多語(yǔ)言、消除跨語(yǔ)言的調(diào)用開(kāi)銷(xiāo),幫助開(kāi)發(fā)者在選擇編程語(yǔ)言時(shí)不用再糾結(jié)語(yǔ)言的性能問(wèn)題。對(duì)多平臺(tái)的支持,也將幫助開(kāi)發(fā)在未來(lái)的多端設(shè)備開(kāi)發(fā)上,始終使用同一套編程平臺(tái),不用在不同的開(kāi)發(fā)平臺(tái)間來(lái)回切換。這也相當(dāng)于為開(kāi)發(fā)者打造了一個(gè)“五星級(jí)”的舒適開(kāi)發(fā)環(huán)境,不再為傳統(tǒng)的終端程序開(kāi)發(fā)而“心塞不已”,可以更省心、高效的進(jìn)行各種程序應(yīng)用的開(kāi)發(fā)、調(diào)試和升級(jí)迭代。華為方舟編譯器還直接將編譯器的代碼優(yōu)化搬到了開(kāi)發(fā)者環(huán)境,不再被手機(jī)端的硬件資源所限制,這更是讓數(shù)以萬(wàn)計(jì)的開(kāi)發(fā)者為代碼優(yōu)化提供了無(wú)限可能。
有知乎網(wǎng)友大膽猜測(cè),“華為的野心是,Java、Java、Python、C、C++都要翻譯到Maple IR,并且Maple IR是為了在芯片上運(yùn)行做優(yōu)化為目的的語(yǔ)言。”
另有專(zhuān)業(yè)網(wǎng)友發(fā)帖稱,“今天把官方給的(方舟編譯器)文檔和源代碼都解讀(翻譯了)一遍,目前讀下來(lái)的感覺(jué)是:把Java的類(lèi)、接口、異常處理、都做了,工作量真的挺大的。國(guó)人自己搞一個(gè)這么硬核的項(xiàng)目,在以前是沒(méi)有的。能把Java翻譯到自己設(shè)計(jì)的語(yǔ)言上,再執(zhí)行對(duì),太難了,工作量超級(jí)大,可以說(shuō)國(guó)內(nèi)做這種級(jí)別的東西,可謂是第一次?!?/p>
也有人直言,“(方舟編譯器)這種級(jí)別的控制復(fù)雜度,和建立抽象的能力,以前貌似是只有老外這么干過(guò)”,“就算搞個(gè)跟國(guó)外進(jìn)化下來(lái)的最強(qiáng)開(kāi)源的,一樣牛逼的,只要是自己一行一行寫(xiě)起來(lái)的,那已經(jīng)很吊了”。
華為的一小步,行業(yè)的一大步,自主技術(shù)創(chuàng)新大生態(tài)時(shí)代已然到來(lái)
值得一提的是,開(kāi)發(fā)者使用方舟編譯器,并不需要改變?cè)瓉?lái)的編碼習(xí)慣。開(kāi)發(fā)者可以自行開(kāi)發(fā)代碼優(yōu)化算法,也可以僅通過(guò)方舟編譯器預(yù)置的算法進(jìn)行代碼優(yōu)化。而未來(lái),華為還將提供代碼調(diào)優(yōu)工具,開(kāi)發(fā)者可以選擇根據(jù)工具的優(yōu)化建議來(lái)調(diào)整代碼,和方舟編譯器配合獲得更優(yōu)的執(zhí)行效果。
不難預(yù)見(jiàn)的是,隨著未來(lái)數(shù)以萬(wàn)計(jì)的開(kāi)發(fā)者使用方舟編譯器,手機(jī)用戶的體驗(yàn)也將在不久之后達(dá)到一個(gè)前所未有的高度。而這對(duì)于整個(gè)終端生態(tài),可以說(shuō)華為都是做了一件世界前所未有的大事件。
從技術(shù)突破上看,華為方舟編譯器團(tuán)隊(duì)是基于多個(gè)編程語(yǔ)言的深刻理解和大量研發(fā)積累,將混合語(yǔ)言開(kāi)創(chuàng)性的實(shí)現(xiàn)了統(tǒng)一的中間表示IR,這就相當(dāng)于同一個(gè)人能夠理解全世界的語(yǔ)言。而這,可以說(shuō)更是華為自主技術(shù)創(chuàng)新的又一次革命性突破。
根據(jù)華為在開(kāi)發(fā)者大會(huì)上公布的信息,作為鴻蒙OS的重要工具,方舟編譯器從今年開(kāi)始,將持續(xù)進(jìn)行開(kāi)源。譬如,明年計(jì)劃開(kāi)放Java編譯器工具鏈,支持Java程序編譯;后年則計(jì)劃開(kāi)放對(duì)Java語(yǔ)言的支持能力,用于JS應(yīng)用的編譯。
值得注意的是,不僅方舟編譯器,就連華為的鴻蒙OS也將陸續(xù)開(kāi)源。而華為通過(guò)這種持續(xù)的開(kāi)放、開(kāi)源,正是在將自身十多年來(lái)的研發(fā)成果和技術(shù)能力不斷貢獻(xiàn)給行業(yè),同時(shí)在開(kāi)源社區(qū)中,吸引更多的開(kāi)發(fā)者參與并貢獻(xiàn)自己的力量,藉此共同推進(jìn)中國(guó)自主技術(shù)和開(kāi)源盛世的發(fā)展。
整體來(lái)看,對(duì)于華為這樣的超級(jí)技術(shù)型企業(yè)而言,方舟編譯器的開(kāi)源可能只是一小步,但是對(duì)整個(gè)行業(yè)而言,對(duì)世界舞臺(tái)而言,卻是十足的一大步,是對(duì)中國(guó)乃至全球開(kāi)源領(lǐng)域的強(qiáng)勢(shì)引領(lǐng)??梢云诖氖牵匀A為的實(shí)力和眼光、高度,華為勢(shì)必還將持續(xù)擁抱開(kāi)源,更有望繼續(xù)在主流基金會(huì)及開(kāi)源社區(qū)中積極貢獻(xiàn),進(jìn)而為全球億萬(wàn)開(kāi)發(fā)者進(jìn)行更深入、更全面的賦能,最終引領(lǐng)一個(gè)自主技術(shù)創(chuàng)新大生態(tài)時(shí)代的全面到來(lái)。
- 蜜度索驥:以跨模態(tài)檢索技術(shù)助力“企宣”向上生長(zhǎng)
- 美媒聚焦比亞迪“副業(yè)”:電子代工助力蘋(píng)果,下個(gè)大計(jì)劃瞄準(zhǔn)AI機(jī)器人
- 微信零錢(qián)通新政策:銀行卡轉(zhuǎn)入資金提現(xiàn)免手續(xù)費(fèi)引熱議
- 消息稱塔塔集團(tuán)將收購(gòu)和碩印度iPhone代工廠60%股份 并接管日常運(yùn)營(yíng)
- 蘋(píng)果揭秘自研芯片成功之道:領(lǐng)先技術(shù)與深度整合是關(guān)鍵
- 英偉達(dá)新一代Blackwell GPU面臨過(guò)熱挑戰(zhàn),交付延期引發(fā)市場(chǎng)關(guān)注
- 馬斯克能否成為 AI 部部長(zhǎng)?硅谷與白宮的聯(lián)系日益緊密
- 余承東:Mate70將在26號(hào)發(fā)布,意外泄露引發(fā)關(guān)注
- 無(wú)人機(jī)“黑科技”亮相航展:全球首臺(tái)低空重力測(cè)量系統(tǒng)引關(guān)注
- 賽力斯發(fā)布聲明:未與任何伙伴聯(lián)合開(kāi)展人形機(jī)器人合作
- 賽力斯觸及漲停,汽車(chē)整車(chē)股盤(pán)初強(qiáng)勢(shì)拉升
免責(zé)聲明:本網(wǎng)站內(nèi)容主要來(lái)自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁(yè)或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書(shū)面權(quán)利通知或不實(shí)情況說(shuō)明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開(kāi)相關(guān)鏈接。