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

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

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

pIYBAFzCfh2Ac5IZAABEScl1Td8536.png

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

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

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

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

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

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

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


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 伊人久久久久久久久香港| 国产伦精品一区二区免费| japan高清日本乱xxxxx| 播播开心激情网| 久久成人国产精品| 最近最新中文字幕免费的一页 | 免费人妻无码不卡中文字幕18禁 | 国产免费一区二区三区免费视频 | 免费又黄又爽1000禁片| 能播放18xxx18女同| 国产免费一区二区三区不卡| 久碰人澡人澡人澡人澡人视频 | 久久精品国产免费| 欧洲高清一区二区三区试看| 亚洲日韩激情无码一区| 特级毛片www| 免费乱理伦片在线观看影院| 精品国产福利第一区二区三区 | a在线免费观看视频| 婷婷六月综合网| 一级黄色日b片| 散步乳栓项圈尾巴乳环小说| 久久久久亚洲AV成人无码| 日韩在线视频二区| 久久综合九色综合97伊人麻豆 | 亚洲人成在线中文字幕| 欧美日在线观看| 亚洲欧美久久一区二区| 波多野结衣电影区一区二区三区| 伊人久久大香线蕉无码| 看全色黄大色黄女视频| 免费看的黄网站| 第37部分夫妇交换系列| 八戒八戒www观看在线| 精品国产一区二区三区色欲| 又黄又爽又色的视频| 美女的让男人桶爽网站| 嘟嘟嘟www在线观看免费高清| 色偷偷AV老熟女| 四虎影永久在线观看网址| 羞羞的漫画sss|