您現在的位置是:首頁 > 動作武俠首頁動作武俠

深度解讀華為EMUI9.1帶來的技術創新產物:華為方舟編譯器和EROFS超級檔案系統

簡介而方舟編譯器在開發環境中就可以完成全部程式碼的編譯,無論業務邏輯是Java寫的還是C語言寫的,不需要再次編譯,手機安裝應用程式後無需依賴虛擬機器資源,即可全速執行程式,帶來效率上的極大提升,消除了影響效能的虛擬機器機制

方舟角質怎麼砍最多

4月25日,華為EMUI媒體沙龍在北京召開,華為消費者BG軟體部總裁王成錄博士向參會媒體詳細介紹了華為EMUI 9。1系統。EMUI 9。1透過華為方舟編譯器和EROFS超級檔案系統兩大技術創新,結合開放生態共同助力使用者體驗的提升。

EMUI的前世今生

從2012年EMUI1。0的合一桌面,到2016年EMUI5。0的“天生快,一生快”,到2018年EMUI8。2的GPU Turbo,再到EMUI9。0的Link Turbo,以及目前最新的EMUI9。1超級檔案系統和華為方舟編譯器,EMUI在不斷的創新發展中做到了反哺整個安卓產業,不斷輸出優秀成果。EMUI一路走來,一直致力於提升使用者體驗,使用者體驗永遠是華為思考一切問題的出發點。目前EMUI服務著全球216個國家和地區,日活躍使用者到達4。7億。

深度解讀華為EMUI9.1帶來的技術創新產物:華為方舟編譯器和EROFS超級檔案系統

華為方舟編譯器是什麼?

編譯器是連線人類世界與機器世界的一座橋樑,起著翻譯官的重要作用。簡言之編譯器就是把程式設計人員開發的高階語言程式,翻譯成機器可執行的機器指令,這就是編譯器。而要想把編譯器做好,既要懂原來的高階語言,又要懂所看到的硬體平臺。必須對整個機器的CPU、GPU所有的指令要熟悉,又對目標語言要非常熟悉。就像一個翻譯官,把中文翻譯成英文,至少要對中文英文都非常理解。

深度解讀華為EMUI9.1帶來的技術創新產物:華為方舟編譯器和EROFS超級檔案系統

十年磨一劍的技術積累

華為從2009年就開始建立編譯組,源於在研發海思晶片以後,需要有自己的編譯器才能真正發揮晶片的能力;2013年,華為推出了自研編譯器HCC; 2014年,Fred Chow等諸多編譯器領域的資深專家加入華為,搭建了華為編譯器的主架構;2016年,有了成功的實踐經驗以後,華為2012年實驗室成立了編譯器與程式語言實驗室;2019年,經過十年的積累沉澱,終於推出了華為方舟編譯器這個“板凳要坐十年冷”的複雜工程。

深度解讀華為EMUI9.1帶來的技術創新產物:華為方舟編譯器和EROFS超級檔案系統

華為方舟編譯器的四大技術亮點

深度解讀華為EMUI9.1帶來的技術創新產物:華為方舟編譯器和EROFS超級檔案系統

第一,多語言聯合編譯和跨語言呼叫開銷是影響Android效能開銷的最核心原因之一,目前Android應用市場裡面Top級別的APP 95%以上都是由多種開發語言來實現的。舉例說明,這些APP的邏輯部分是Java程式碼,但是為了增強app應用的安全性、可靠性、相容性,開發者會用效率更高的C語言寫庫,供Java來呼叫。直接導致的結果是應用真正執行起來的時候,一定會有Java和C語言之間呼叫問題,就會形成額外的效能開銷。而方舟編譯器在不同語言程式碼的開發環境中,就編譯成一套可執行檔案,在執行環境中高效執行。

深度解讀華為EMUI9.1帶來的技術創新產物:華為方舟編譯器和EROFS超級檔案系統

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

深度解讀華為EMUI9.1帶來的技術創新產物:華為方舟編譯器和EROFS超級檔案系統

而方舟編譯器在開發環境中就可以完成全部程式碼的編譯,無論業務邏輯是Java寫的還是C語言寫的,不需要再次編譯,手機安裝應用程式後無需依賴虛擬機器資源,即可全速執行程式,帶來效率上的極大提升,消除了影響效能的虛擬機器機制。EMUI 9。1僅僅對系統元件System Server應用了華為方舟編譯器後,就帶來了系統操作流暢度提升24%,系統響應效能提升44%的收益。華為方舟編譯器提供了全新的系統及應用的編譯和執行機制,從動態編譯變為靜態編譯,就是直接將高階語言直接編譯成機器碼,消除了虛擬機器動態編譯的額外開銷,實現了開發和執行效率的相容並舉。

深度解讀華為EMUI9.1帶來的技術創新產物:華為方舟編譯器和EROFS超級檔案系統

記憶體回收機制是另一個方舟編譯器的重大技術突破。Android系統在全域性回收記憶體資源時,需要暫停應用等待回收完成,這是產生隨機卡頓的重要原因。而在方舟編譯器裡,在編譯時為程式配備了及時回收的記憶體處理機制,即在程式執行過程當中同步實時處理回收。所以方舟編譯器的垃圾回收及時又徹底,並且不需要停止程序。

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

深度解讀華為EMUI9.1帶來的技術創新產物:華為方舟編譯器和EROFS超級檔案系統

方舟編譯器跟現有的Android非常不一樣,能做到更加靈活更加深入的最佳化,給應用開發者帶來了更大的最佳化應用的機會。現有的Android編譯大部分程式碼在虛擬機器環境執行,虛擬機器的建立來自於同一套“模板”,但不同應用的最佳化訴求不一樣,因而難以作深度的最佳化,方舟編譯器則是每個應用編譯最佳化方案自己來定,分別形成不同應用最佳化後的機器碼,每一個應用開發者都有了把自己的應用做的更好的機會,不再受限於Android虛擬機器的限制。

深度解讀華為EMUI9.1帶來的技術創新產物:華為方舟編譯器和EROFS超級檔案系統

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

EROFS超級檔案系統

EROFS超級檔案系統是伴隨著儲存介質的發展一步一步走過來,儲存介質不斷的演進,讓這個檔案系統不斷的跟著演進,資料在這個儲存介質上儲存讀取更好更安全更快。2016年搭載EMUI 5。0的華為Mate 9,首次在業界規模商用F2FS檔案系統,替代了傳統的EXT4檔案系統,令使用者分割槽的檔案讀寫流暢度提升20%。EROFS超級檔案系統透過高效的壓縮演算法加持,帶來隨機讀效能提升,EROFS的做法是保證每次壓縮一塊,正好是一個固定大小的儲存塊(即壓縮後的檔案和儲存的最小單元邊界一致),這樣幾乎沒有浪費,不僅效能提升隨機讀效能的20%,ROM空間還節約了2GB。以華為P30 Pro 128G為例,系統初始空間相比Ext4節省2GB,相當於使用者可以多存1000張照片或500首歌曲。

超級檔案系統天然只讀設計,系統分割槽不可被三方改寫,因為一旦系統區被寫就意味著系統被攻破了,所有執行管理保證它的正確性,所以不能被改寫意味著更安全。Ext4是一個讀寫雙向的檔案系統,為了防止讀寫系統區,要加兩把鎖才能鎖住。這兩把鎖加上,這個機制就變得更復雜了,EROFS只讀系統天生沒有這個問題更加安全,在這種情況下想把系統區攻破則是難上加難。

深度解讀華為EMUI9.1帶來的技術創新產物:華為方舟編譯器和EROFS超級檔案系統

打造開放生態,共享智慧體驗

透過Huawei HiAI構建移動AI開放平臺,華為把AI所有能力開放給第三方,使能現在的應用更豐富更強大。Huawei HiAI開放能力不斷增強,支援運算元數量增加至147運算元,API上線數量增加33個API,接入原子化服務超3200項。已經有很多合作伙伴利用HiAI開放平臺給消費者提供了很多創新體驗,比如storysign利用HiAI的API能力幫助殘障人士進行無障礙的閱讀。透過開放的全球生態系統,以及1400+生態合作伙伴和560000+的開發者,使用者將會獲得更多更豐富的智慧場景體驗。

推進方舟編譯器的開源,讓更多使用者享受應用流暢體驗。繼華為P30系列釋出會方舟編譯器開源後,將在2019年8月的華為終端開發者大會宣佈方舟編譯框架程式碼開源,後續會在2019年11月的綠盟開發者大會實現完整方舟編譯器程式碼開源。

Link Turbo的發展讓聯接更多樣。Link Turbo透過最佳化手機網路的連線,讓整個生態串聯起來。伺服器端裝載SDK以後就享受到網路的多路合併,無論是WIFI還是LTE都能連線起來,保證網路足夠的頻寬和實時性。EMUI9。1帶來了以使用者為中心的全場景體驗,覆蓋方方面面的日常生活場景。例如HUAWEI HiCar帶來手機車鑰匙,跑步機資料同步,與PC一碰分享等多裝置之間的互聯體驗。未來EMUI將著眼更多無縫的全場景使用者體驗,影片、音訊、影象等各種資訊和指令都可以在PC、電視、平板等智慧裝置中無縫流轉,使用者獲得更加豐富優質的體驗。

深度解讀華為EMUI9.1帶來的技術創新產物:華為方舟編譯器和EROFS超級檔案系統

Top