在之前的華為 P30 中國發(fā)布會上,華為曾表示通過方舟編譯器可實(shí)現(xiàn)系統(tǒng)操作流暢度提升 24%,系統(tǒng)響應(yīng)提升 44%,第三方應(yīng)用操作流暢度提升 60%。其可以說是華為 P30 系列體驗(yàn)背后的最大功臣之一。
4 月 25 日下午,華為在北京舉行了“華為有技術(shù) EMUI 媒體沙龍”活動。在這次活動上,華為首次站在官方的角度,詳細(xì)解釋了 P30 系列在 EMUI 9.1 系統(tǒng)中所使用的方舟編譯器的應(yīng)用原理。
今天,小雷(微信:leitech)就在第一時間為大家解讀華為這項(xiàng)新技術(shù),看看方舟編譯器到底神奇在何處。
首先我們要了解一下什么是編譯器。簡單來說,編譯器就是將我們能夠理解的語言翻譯為計算機(jī)能夠理解的以 0 和 1 構(gòu)成的語言。
就像我們和外國人交流一樣,語言不同是很難溝通的,但只要將其中一種語言翻譯成對方能聽得懂的語言,就能交流成功了。
華為方舟編譯器最大的特點(diǎn)在于,它是業(yè)內(nèi)第一款支持多語言聯(lián)合優(yōu)化的編譯器,也就是說無論是 C/C++還是 Java 都支持。
因此面對采用混合語言開發(fā)的安卓應(yīng)用,方舟編譯器可以在開發(fā)環(huán)境中編譯成統(tǒng)一的流程,通過統(tǒng)一的程序表示和優(yōu)化來執(zhí)行,效率更高。
也就是說,現(xiàn)有安卓的運(yùn)行機(jī)制就像是兩個人各自準(zhǔn)備任務(wù),最后將他們的準(zhǔn)備的結(jié)果綜合在一起執(zhí)行。而方舟編譯器則是讓這兩個人一起準(zhǔn)備,之后再一同執(zhí)行任務(wù)。
安卓系統(tǒng)本身的編譯是要通過 ART 虛擬機(jī)運(yùn)行,因此系統(tǒng)資源占用較大。而方舟編譯器則是在開發(fā)的時候就已經(jīng)完成了靜態(tài)編譯,因此不需要依賴手機(jī)本身編譯。
打個比方,以開卷考試為例,一個學(xué)生是在考試之前就預(yù)習(xí)好了可能會考到的知識點(diǎn),做好了對應(yīng)內(nèi)容的標(biāo)記,拿到卷子就迅速動筆;而另一個學(xué)生則是靠“臨場發(fā)揮”,在考場上臨時翻閱資料,占用大量考試時間。
同時,方舟編譯器還提供了更高效的內(nèi)存回收機(jī)制。由于不需要經(jīng)過虛擬機(jī),應(yīng)用在運(yùn)行過程中不需要暫停,同時隨時回收內(nèi)存,而不是將垃圾堆在一起回收。
方舟編譯器還有一大核心功能就是對代碼進(jìn)行優(yōu)化。所謂代碼優(yōu)化,就是為程序帶來更高的性能。
舉個很簡單的例子,就是同一個人考兩次試,怎么才能讓第二次比第一次考的更好,其實(shí)就是要對復(fù)習(xí)進(jìn)行優(yōu)化。
前面說到,現(xiàn)有安卓系統(tǒng)的動態(tài)編譯是利用 ART 虛擬機(jī)在機(jī)器上執(zhí)行,而方舟編譯器則是在開發(fā)的時候進(jìn)行靜態(tài)編譯。
因此,前者只能采用簡單的優(yōu)化算法,而后者可以突破手機(jī)機(jī)能限制,根據(jù)不同的應(yīng)用采用不同的編譯和優(yōu)化算法。
最后,華為方舟編譯器還有一大亮點(diǎn)是學(xué)習(xí)和使用成本低。由于在 APP 發(fā)布之前的打包階段就已經(jīng)集成了編譯環(huán)境,因此對于開發(fā)者來說,整個流程其實(shí)是被簡化了,使用下來更方便。
華為表示,方舟編譯器將從 2019 年開始全面開源。這也就是說無論是手機(jī)廠商,還是應(yīng)用開發(fā)者都可以使用方舟編譯器來優(yōu)化應(yīng)用的性能。
總的來說,通過華為方舟編譯器編譯應(yīng)用相比現(xiàn)有安卓的優(yōu)勢主要在于:
1、釋放機(jī)器編譯壓力,在開發(fā)時完成應(yīng)用的靜態(tài)編譯,不經(jīng)過ART虛擬機(jī)。
2、采用不同類型的應(yīng)用優(yōu)化方案,讓應(yīng)用運(yùn)行效果達(dá)到最優(yōu)。
3、提供更有效的內(nèi)存回收機(jī)制,提升系統(tǒng)流暢度。
4、簡化編譯流程,降低開發(fā)者學(xué)習(xí)和使用成本。
除了方舟編譯器外,華為還介紹了讓系統(tǒng)流暢運(yùn)行的另外一大關(guān)鍵點(diǎn),就是 EROFS 超級文件系統(tǒng)。
相比之前的 F2FS 文件系統(tǒng),P30 系列所采用的 EROFS 文件系統(tǒng)可以提升 20%的隨讀性能,機(jī)身可用存儲空間增加 2GB,并采用只讀設(shè)計。
對比另外一個只讀壓縮文件系統(tǒng) squashfs,EROFS 最明顯的優(yōu)勢是幾乎不存在無效讀取。
但由于采用更安全的 EROFS,本質(zhì)上 P30 的系統(tǒng)會比以前的華為機(jī)型更加封閉。EROFS 是一個完全只讀設(shè)計的文件系統(tǒng),其不允許用戶像之前 Ext4 文件系統(tǒng)那樣支持可讀寫,這樣設(shè)備本身更安全,但可玩性會相對更低。
根據(jù)華為官方公布的日程,方舟編譯器將于 2019 年 8 月的華為終端開發(fā)者大會上開源編譯框架代碼,并于 2019 年 11 月的綠盟開發(fā)者大會上公布完整的方舟編譯器代碼。
在小雷個人看來,方舟編譯器是華為在解決安卓應(yīng)用編譯方面提供的一種全新的思路,理論上看是不錯的方案,但就目前而言還無法驗(yàn)證得出 P30 系列是否在長時間使用后依然流暢的結(jié)論。
另一方面,方舟編譯器能否真正得到大規(guī)模推廣普及,目前也還很難說。畢竟每個應(yīng)用開發(fā)商和手機(jī)廠商都有自己的考慮。不過可以確定的是,華為和榮耀未來的新機(jī)將很有技能會繼續(xù)采用這個工具,我們不妨期待一下。
-
華為
+關(guān)注
關(guān)注
216文章
34479瀏覽量
252148 -
安卓
+關(guān)注
關(guān)注
5文章
2134瀏覽量
57315 -
方舟編譯器
+關(guān)注
關(guān)注
0文章
60瀏覽量
226
原文標(biāo)題:「熱門」華為展示方舟編譯器,要讓安卓徹底改頭換面?
文章出處:【微信號:zealertech,微信公眾號:ZEALER】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論