《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 其他 > 業(yè)界動(dòng)態(tài) > 華為方舟編譯器的四大技術(shù)亮點(diǎn)

華為方舟編譯器的四大技術(shù)亮點(diǎn)

2019-06-30
關(guān)鍵詞: 華為 方舟編譯器

pIYBAFzCfh2Ac5IZAABEScl1Td8536.png

  第一,多語(yǔ)言聯(lián)合編譯和跨語(yǔ)言調(diào)用開(kāi)銷是影響Android性能開(kāi)銷的最核心原因之一,目前Android應(yīng)用市場(chǎng)里面Top級(jí)別的APP 95%以上都是由多種開(kāi)發(fā)語(yǔ)言來(lái)實(shí)現(xiàn)的。舉例說(shuō)明,這些APP的邏輯部分是Java代碼,但是為了增強(qiáng)app應(yīng)用的安全性、可靠性、兼容性,開(kāi)發(fā)者會(huì)用效率更高的C語(yǔ)言寫庫(kù),供Java來(lái)調(diào)用。直接導(dǎo)致的結(jié)果是應(yīng)用真正運(yùn)行起來(lái)的時(shí)候,一定會(huì)有Java和C語(yǔ)言之間調(diào)用問(wèn)題,就會(huì)形成額外的性能開(kāi)銷。而方舟編譯器在不同語(yǔ)言代碼的開(kāi)發(fā)環(huán)境中,就編譯成一套可執(zhí)行文件,在運(yùn)行環(huán)境中高效執(zhí)行。

  第二,Android從誕生那天起,就選擇了Java這個(gè)成熟的語(yǔ)言,Java語(yǔ)言有跨平臺(tái)、分布式,安全性高等諸多優(yōu)勢(shì)。但是隨之應(yīng)運(yùn)而生的還有Java語(yǔ)言開(kāi)發(fā)包中的重要組成--虛擬機(jī),無(wú)論是什么樣的硬件,Java語(yǔ)言都不需要管,統(tǒng)統(tǒng)抽象成Java的運(yùn)行環(huán)境,因此可以跨平臺(tái)操作。這個(gè)又帶來(lái)另外一個(gè)問(wèn)題,任何機(jī)器只要把應(yīng)用裝上就會(huì)分配好虛擬機(jī),占用額外的系統(tǒng)資源。今天的Android應(yīng)用市場(chǎng)中的APP,實(shí)際上都是DEX碼的文件,消費(fèi)者從應(yīng)用市場(chǎng)下載APP以后,真正解釋成機(jī)器指令和執(zhí)行文件是在手機(jī)上的虛擬機(jī)里做的,因此對(duì)系統(tǒng)資源要求高。安卓自身的編譯技術(shù)在不斷的發(fā)展,但始終需要在運(yùn)行中依賴虛擬機(jī)來(lái)進(jìn)行動(dòng)態(tài)編譯和解釋執(zhí)行,對(duì)系統(tǒng)資源消耗較大。

  而方舟編譯器在開(kāi)發(fā)環(huán)境中就可以完成全部代碼的編譯,無(wú)論業(yè)務(wù)邏輯是Java寫的還是C語(yǔ)言寫的,不需要再次編譯,手機(jī)安裝應(yīng)用程序后無(wú)需依賴虛擬機(jī)資源,即可全速運(yùn)行程序,帶來(lái)效率上的極大提升,消除了影響性能的虛擬機(jī)機(jī)制。EMUI 9.1僅僅對(duì)系統(tǒng)組件System Server應(yīng)用了華為方舟編譯器后,就帶來(lái)了系統(tǒng)操作流暢度提升24%,系統(tǒng)響應(yīng)性能提升44%的收益。華為方舟編譯器提供了全新的系統(tǒng)及應(yīng)用的編譯和運(yùn)行機(jī)制,從動(dòng)態(tài)編譯變?yōu)殪o態(tài)編譯,就是直接將高級(jí)語(yǔ)言直接編譯成機(jī)器碼,消除了虛擬機(jī)動(dòng)態(tài)編譯的額外開(kāi)銷,實(shí)現(xiàn)了開(kāi)發(fā)和運(yùn)行效率的兼容并舉。

  內(nèi)存回收機(jī)制是另一個(gè)方舟編譯器的重大技術(shù)突破。Android系統(tǒng)在全局回收內(nèi)存資源時(shí),需要暫停應(yīng)用等待回收完成,這是產(chǎn)生隨機(jī)卡頓的重要原因。而在方舟編譯器里,在編譯時(shí)為程序配備了及時(shí)回收的內(nèi)存處理機(jī)制,即在程序執(zhí)行過(guò)程當(dāng)中同步實(shí)時(shí)處理回收。所以方舟編譯器的垃圾回收及時(shí)又徹底,并且不需要停止進(jìn)程。

  第三,編譯器和翻譯語(yǔ)言的原理是一樣的,單獨(dú)直譯出詞句并不是難點(diǎn),難得是要翻譯的又快又好。比如把英文“What happens in Vegas, stays in Vegas”翻譯成中文,最簡(jiǎn)單的直譯是“在拉斯維加斯發(fā)生的一切,就留在拉斯維加斯”;好一些的譯文是“事情過(guò)去了就過(guò)去了,追悔無(wú)益”;而優(yōu)秀的譯文則是“勿念過(guò)往,活在當(dāng)下”。方舟編譯器通過(guò)了大量的優(yōu)化和調(diào)整,一方面對(duì)Java語(yǔ)言深入了解后再細(xì)致重建,另一方面對(duì)機(jī)器指令順序結(jié)構(gòu)理解要求非常清晰,這兩方面的匹配度越高,編譯器效率越高。一個(gè)好的編譯器,開(kāi)發(fā)者一行代碼都不需要修改,性能能提升10%到20%。

  方舟編譯器跟現(xiàn)有的Android非常不一樣,能做到更加靈活更加深入的優(yōu)化,給應(yīng)用開(kāi)發(fā)者帶來(lái)了更大的優(yōu)化應(yīng)用的機(jī)會(huì)。現(xiàn)有的Android編譯大部分代碼在虛擬機(jī)環(huán)境運(yùn)行,虛擬機(jī)的創(chuàng)建來(lái)自于同一套“模板”,但不同應(yīng)用的優(yōu)化訴求不一樣,因而難以作深度的優(yōu)化,方舟編譯器則是每個(gè)應(yīng)用編譯優(yōu)化方案自己來(lái)定,分別形成不同應(yīng)用優(yōu)化后的機(jī)器碼,每一個(gè)應(yīng)用開(kāi)發(fā)者都有了把自己的應(yīng)用做的更好的機(jī)會(huì),不再受限于Android虛擬機(jī)的限制。

  第四,方舟編譯器從多年前決定做的那一刻起,就立下了上層業(yè)務(wù)代碼不需要改動(dòng),開(kāi)發(fā)者只通過(guò)華為方舟編譯器做可以重新編譯的目標(biāo)。現(xiàn)在開(kāi)發(fā)者不論用Java語(yǔ)言去開(kāi)發(fā)新的APP,還是自己寫的C語(yǔ)言庫(kù),這兩種方式都不需要變,從而大大降低了開(kāi)發(fā)者學(xué)習(xí)和使用成本。


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 香蕉视频好色先生| 久久久久亚洲Av片无码下载蜜桃| 男人扒开女人的腿做爽爽视频| 成人福利免费视频| 久久精品国产99国产精品澳门| 欧美人xxxx| 亚洲欧美综合网| 狂野欧美性猛交xxxx| 全彩里番acg里番| 美女爽到尿喷出来| 国产乡下三级全黄三级| 高清伦理电影在线看| 国产成人精品电影| 中文字幕第四页| 国产精品爆乳在线播放第一人称 | 国产亚洲成归v人片在线观看| 国产精品毛片无遮挡| 91草莓视频在线观看| 多人交换伦交视频| japanese日本护士xxxx18一19| 好男人资源在线观看高清社区| 七仙女欲春3一级裸片在线播放| 无码专区久久综合久中文字幕| 久久国产经典视频| 日韩免费高清专区| 久久综合琪琪狠狠天天| 福利一区二区三区视频在线观看| 君子温如玉po| 老师让我她我爽了好久网站| 国产三级久久久精品麻豆三级| 超级香蕉97在线观看视频| 国产凌凌漆国语| 青青青久97在线观看香蕉| 国产在线拍偷自揄拍无码| 黄色a三级免费看| 国产女人18毛片水真多18精品 | 欧美日韩精品视频一区二区| 亚洲欧美中文日韩v在线观看| 欧美美女与野兽免费看电影| 亚洲男女性高爱潮网站| 永久久久免费浮力影院|