榮耀高管詳解方舟編譯器:相比安卓擁有3大優(yōu)點(diǎn)
6月3日,榮耀產(chǎn)品總經(jīng)理熊軍民在知乎發(fā)布文章《熊叔隨筆:聊一聊我眼中的方舟編譯器》,詳解了安卓編譯器的缺點(diǎn),與方舟編譯器的改進(jìn),揭開(kāi)了方舟編譯器身上的神秘面紗。
熊軍民表示,編譯器是一種將“高級(jí)語(yǔ)言”翻譯為能直接被計(jì)算機(jī)或虛擬機(jī)執(zhí)行目標(biāo)代碼的程序,編譯器的效率直接影響程序運(yùn)行性能和效率。
谷歌此前多次調(diào)整過(guò)安卓的編譯器模式,從Dalvik虛擬機(jī)、到JIT、再到ART,在Android 7.0版本,谷歌采用了AOT+ JIT+解釋執(zhí)行的混合模式,為了達(dá)到一個(gè)安裝時(shí)間、空間占用和性能之間的平衡。
但熊軍民認(rèn)為目前Android依然存在邊解釋邊執(zhí)行的代碼運(yùn)行方式,Google也多次調(diào)整編譯代碼的模式,但是相比iOS依然有性能差距。
而方舟編譯器則解決了這一問(wèn)題。
方舟編譯器最大的優(yōu)勢(shì)在于它繞過(guò)了VM。方舟編譯器是首家完全替代語(yǔ)言虛擬機(jī)的靜態(tài)編譯器,完全不需要解釋器。兼顧Java開(kāi)發(fā)效率和C語(yǔ)言運(yùn)行效率的編譯器。
相比安卓現(xiàn)有的編譯機(jī)制,方舟編譯器擁有3大優(yōu)點(diǎn):
1.方舟編譯器是一種靜態(tài)的編譯方式,而現(xiàn)有的安卓系統(tǒng),運(yùn)行一個(gè)應(yīng)用程序首先啟動(dòng)虛擬機(jī),然后讀入應(yīng)用程序代碼,逐條解釋執(zhí)行。會(huì)占用較多的處理資源,影響程序執(zhí)行的效率。當(dāng)然,也有包括AOT或JIT等提前或運(yùn)行時(shí)的編譯技術(shù),把部分程序轉(zhuǎn)換成機(jī)器碼直接在CPU上執(zhí)行。但是,仍就無(wú)法做到100%做到擺脫虛擬機(jī)的執(zhí)行,這也是當(dāng)前安卓陣營(yíng)不如IOS陣營(yíng)的關(guān)鍵。
2.華為方舟編譯器的靜態(tài)編譯方式可將語(yǔ)言里的動(dòng)態(tài)特性直接翻譯成機(jī)器碼,手機(jī)安裝應(yīng)用程序后可全速運(yùn)行程序,徹底消除虛擬機(jī)的弊病,帶來(lái)效率上的極大提升。
3.方舟編譯器是在開(kāi)發(fā)環(huán)境部署的編譯器,而現(xiàn)有編譯過(guò)程,主要發(fā)生在手機(jī)上,帶來(lái)額外的資源消耗。
有鑒于此,華為方舟編譯器能帶來(lái)系統(tǒng)性能的顯著提升。
1.EMUI 9.1對(duì)系統(tǒng)主要服務(wù)System Server進(jìn)行靜態(tài)編譯化。帶來(lái)了系統(tǒng)流暢度提升24%,系統(tǒng)響應(yīng)性能提升44%以上的收益。
2.微博極速版實(shí)現(xiàn)了靜態(tài)化編譯后,流暢度提升高達(dá)60%。
此前榮耀總裁趙明曾高度評(píng)價(jià)方舟編譯器:“這是一個(gè)極其巨大的提升,我們一直期待著安卓系統(tǒng)能夠超越iOS。榮耀20系列經(jīng)過(guò)方舟比那一起的處理之后,我們擁有可以媲美iPhone的體驗(yàn),甚至來(lái)說(shuō)在某些方面我們已經(jīng)優(yōu)于它?!?/p>