亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        安卓性能革命?華為方舟編譯器解密

        2019-10-30 03:42:57技術(shù)宅
        電腦愛好者 2019年11期
        關(guān)鍵詞:系統(tǒng)

        技術(shù)宅

        手機(jī)底層和高級程序間的“翻譯官”

        對于手機(jī)的底層系統(tǒng)和CPU來說,它們只“認(rèn)識”0和1這樣的機(jī)器碼,而在安卓上運(yùn)行的APP大多是由Java開發(fā)的,這種高級程序語言必須轉(zhuǎn)換成機(jī)器碼,才能夠被底層系統(tǒng)所識別(圖1)。

        從高級語言的源代碼到系統(tǒng)底層目標(biāo)碼的轉(zhuǎn)換,是由編譯器來完成的,它的角色比較接近現(xiàn)實(shí)中的翻譯,因?yàn)槲覀內(nèi)四X(類似安卓手機(jī)的CPU)不懂外語,想要和外國人交流的話就需要借助翻譯(即編譯器),將外語轉(zhuǎn)換為我們可以理解的母語。好的翻譯可以影響雙方交流的流暢度,而一個(gè)好的編譯器同樣直接影響著手機(jī)系統(tǒng)和軟件的運(yùn)行效率。

        方舟編譯器為安卓加速

        此次華為開發(fā)的方舟編譯器是怎樣提高手機(jī)系統(tǒng)效率的呢?

        開發(fā)安卓應(yīng)用目前用得最多的是Java,它所創(chuàng)建的源文件經(jīng)過編譯生成Class.dex文件,最后被打包成DEX字節(jié)碼文件,再由安卓系統(tǒng)中的Dalvik、Art(編譯器)負(fù)責(zé)將DEX字節(jié)碼翻譯成機(jī)器碼,手機(jī)CPU識別出機(jī)器碼中的操作命令后即可實(shí)際執(zhí)行了。有興趣的朋友可以用72ip解開安卓應(yīng)用的APK安裝文件,就會發(fā)現(xiàn)其中包含有Class.dex文件(圖2)。

        每次安卓應(yīng)用運(yùn)行時(shí),Dalvik動態(tài)地將一部分Dalvik字節(jié)碼解釋為機(jī)器碼。隨著應(yīng)用的運(yùn)行,更多的字節(jié)碼被編譯和緩存,這就是典型的“邊解釋邊執(zhí)行”的安卓運(yùn)行模式。雖然這種模式具有更小的內(nèi)存占用和更少的設(shè)備物理空間占用優(yōu)勢,但是也導(dǎo)致安卓系統(tǒng)的運(yùn)行效率更為低下。這也是為什么很多安卓機(jī)型在硬件配置上可以甩掉iPhone幾條街,但是系統(tǒng)流暢度仍然不如iOS的根本原因(圖3)。

        另外一方面,由于Java的跨平臺特性是靠字節(jié)碼實(shí)現(xiàn)的,這就導(dǎo)致應(yīng)用運(yùn)行時(shí),必須先將高級語言轉(zhuǎn)換成字節(jié)碼,再將字節(jié)碼轉(zhuǎn)換成機(jī)器需要的語言,而且還得需要虛擬機(jī)環(huán)境才能運(yùn)行,過多的中間環(huán)節(jié)使得運(yùn)行效率進(jìn)一步受到影響。

        針對這一問題,方舟編譯器—方面從機(jī)器碼的編譯效率入手,它不像傳統(tǒng)的安卓編譯器那樣“邊解釋邊執(zhí)行”,而是將動態(tài)編譯改進(jìn)為靜態(tài)編譯,這樣可以做到全程執(zhí)行機(jī)器碼高效運(yùn)行程序,大大縮短了程序響應(yīng)時(shí)間。這有些像我們在優(yōu)酷上看電視連續(xù)劇,傳統(tǒng)的安卓是一集集按部就班地播放,方舟編譯器則類似使用了快進(jìn)的方式快速預(yù)覽全集,這樣看連續(xù)劇花的時(shí)間更少,但是該有的劇情一個(gè)都不會少(圖4)。

        另—方面,方舟編譯器摒棄了虛擬機(jī)運(yùn)行環(huán)境的依賴。現(xiàn)在安卓上的應(yīng)用95%都涉及到多種語言的開發(fā),如C、C++、Java等,不同的語言代碼保持獨(dú)立,在運(yùn)行環(huán)境中進(jìn)行協(xié)同,因此會產(chǎn)生系統(tǒng)性能的部分損耗。比如大部分依靠Java開發(fā)的應(yīng)用需要虛擬機(jī)環(huán)境才能運(yùn)行,這無形中增加了性能的損耗,方舟編譯器則可以做到將不同語言的代碼放到同一套編譯好的執(zhí)行文件中,省去虛擬機(jī)額外的損耗,從而提高效率(圖5)。

        通過上述兩方面的優(yōu)化,部署方舟編譯器的手機(jī)可以有明顯的速度提升。根據(jù)華為發(fā)布會公布的測試結(jié)果(內(nèi)部測試):EMUI 9_, 1中僅僅對系統(tǒng)組件System Server使用方舟編譯器進(jìn)行優(yōu)化,就可以帶來24%的系統(tǒng)流暢度提升,系統(tǒng)響應(yīng)性能提高44%。目前第三方APP適配后(微博極速版)操作流暢度可以提升60%?,F(xiàn)在配備的方舟編譯器的P30 Pro已經(jīng)上市,從網(wǎng)友實(shí)際使用體驗(yàn)看,系統(tǒng)運(yùn)行速度和同等配置機(jī)型相比也有明顯的提升(圖6)。但是否真能與官方宣傳數(shù)據(jù)相符,還需要靜待第三方權(quán)威機(jī)構(gòu)的測試結(jié)果。

        安卓性能提升任重道遠(yuǎn)

        華為計(jì)劃在2019年1 1月的綠盟開發(fā)者大會上將完整的方舟編譯器代碼開源。如果開發(fā)者都可以使用統(tǒng)一的方舟編譯器,那么安卓底層編譯開發(fā)就可以實(shí)現(xiàn)統(tǒng)一化,大大降低碎片化的問題,改善其性能劣勢。

        不過方舟編譯器畢竟是針對系統(tǒng)底層的優(yōu)化,需要海量第三方應(yīng)用的開發(fā)和適配,這是一件非?;ㄙM(fèi)時(shí)間的事情。而且不是先進(jìn)的編譯技術(shù)就一定能“一統(tǒng)江湖”,安卓應(yīng)用的生態(tài)現(xiàn)極為混亂不堪,各廠商對系統(tǒng)優(yōu)化的理解也均不相同,在大家沒有形成統(tǒng)一意見時(shí),利益競爭往往會擺在第一優(yōu)先級?!胺街邸笔俏磥淼闹髁鬟€是華為的自娛自樂,這些都有待時(shí)間來驗(yàn)證。

        猜你喜歡
        系統(tǒng)
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無人機(jī)系統(tǒng)
        ZC系列無人機(jī)遙感系統(tǒng)
        北京測繪(2020年12期)2020-12-29 01:33:58
        基于PowerPC+FPGA顯示系統(tǒng)
        基于UG的發(fā)射箱自動化虛擬裝配系統(tǒng)開發(fā)
        半沸制皂系統(tǒng)(下)
        FAO系統(tǒng)特有功能分析及互聯(lián)互通探討
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        一德系統(tǒng) 德行天下
        PLC在多段調(diào)速系統(tǒng)中的應(yīng)用
        成在线人免费无码高潮喷水| 免费无码一区二区三区蜜桃| 国内精品伊人久久久久影院对白| 91精品国产91久久久无码95 | 疯狂做受xxxx高潮欧美日本| 亚洲专区一区二区在线观看| 久久久久亚洲精品无码网址| 欧美 亚洲 国产 日韩 综AⅤ| 日本一区二区三区精品不卡| 久久熟妇少妇亚洲精品| 免费人成网ww555kkk在线| 亚洲视频天堂| 久久少妇呻吟视频久久久| 男人天堂这里只有精品| 国产精品成人观看视频| 成人xx免费无码| 日本高清在线一区二区三区 | 摸进她的内裤里疯狂揉她动图视频 | 亚洲中文字幕在线第二页| 欧美日韩综合网在线观看| 国产精品视频免费一区二区三区 | 日本岛国一区二区三区四区| 亚洲综合成人婷婷五月网址| 午夜福利视频合集1000| 国产桃色精品网站| 中文字幕一区二区三区乱码人妻| 一边做一边喷17p亚洲乱妇50p| 久久精品国产精品国产精品污| 久久久久亚洲AV无码专| 国产白浆大屁股精品视频拍| 久久亚洲精品国产亚洲老地址| 亚洲精品一区二区三区大桥未久| 亚洲AV日韩Av无码久久| 日本刺激视频一区二区| 中文无码精品a∨在线观看不卡| 国产在视频线精品视频www666| 伊人久久大香线蕉综合av| 亚洲国产精品成人久久久| 久激情内射婷内射蜜桃| 亚洲电影一区二区三区 | 国产大片中文字幕|