-
華為王成錄:解密方舟編譯器和EMUI未來四大演進方向!
關鍵字: 方舟編譯器華為今年8月,華為方舟編譯框架代碼將開源,11月完整方舟編譯器代碼開源。
據“智東西”微信公眾號(zhidxcom)4月25日消息,兩周前華為年度第一款旗艦機P30,同時宣布將操作系統升級為EMUI9.1。 在發布會上,華為推出了方舟編譯器和超級文件系統EROFS兩大創新亮點。
由于發布會時間限制,當時華為僅僅用兩頁PPT粗略地介紹了這兩項技術作用。 據華為方面表示,自發布會后,華為軟件OpenLab團隊的電話幾乎要被打爆了,很多開發者都想要了解方舟編譯器更多的信息。
▲華為CBG軟件部總裁 王成錄
今天,智東西與少數媒體參與了華為EMUI軟件溝通會,會上華為CBG軟件部總裁王成錄詳細介紹了方舟編譯器和超級文件系統EROFS兩項技術的原理以及研發背后的細節,以及EMUI未來的主攻方向。
什么是方舟編譯器?
分享會一開始,王成錄博士先介紹了EMUI演進過程以及近幾年來,華為在系統軟件上針對用戶使用中的痛點問題進行的有針對性的優化。 比如EMUI5.0主要解決安卓系統卡頓問題,EMUI8.2上線了GPU Turbo主攻游戲性能受限問題,EMUI9.0上線了Link Turbo主攻網絡覆蓋不均問題,EMUI9.1則上線了方舟編譯器和超級文件系統EROFS,針對安卓流暢度不足問題。
當前安卓平臺的絕大多數應用是使用Java寫的,但在底層,最終真正能讓計算機“聽懂”并執行的其實是機器語言,也就是由0和1組成的二進制代碼。 所以,這中間必須存在著由高級語言到機器語言的轉化。
一般來說有兩種辦法:
(1)引入一個中間層,其工作的方式是,理解一句Java語句就將其翻譯為機器碼,讓硬件執行一下,稱之為解釋執行。 這種方式對代碼不加篩選,執行效率非常低。
(2)直接把高級語言翻譯成機器語言。 這又有兩種方式: 一是在程序運行之前,把高級語言編譯為機器語言,稱之為 AOT(Ahead of time)編譯; 二是,在程序運行后,實時地把高級語言編譯為機器語言并執行,稱之為 JIT(Just in time) 編譯。
在安卓5.0之前,安卓采用的是解釋執行 + JIT 的方式執行高級語言代碼,屬于邊解釋邊執行模式,但效率非常低。 隨后安卓版本不斷迭代,在安卓6.0 階段推出了虛擬機 ART。
目前安卓采用的就是解釋執行 + JIT + AOT 的綜合模式。
那么,編譯器又是什么呢? 編譯器就是將計算機高級編程語言轉化為機器可執行的機器語言的工具,也就是直接轉化為二進制代碼。 可以說是一步到位的編譯。
用方舟編譯器做出來的APK,下載到手機上直接就是機器語言,也就是二進制代碼,機器直接就可以運行,不需要再做編譯了,這是方舟編譯器最本質的技術突破。
編譯器的研發難不難? 編譯器開發是需要長期大量研發積累,王成錄博士也坦言需要“板凳要坐十年冷”。 同時,開發編譯器需要研發人員既精通高級語言,對各種框架等非常熟悉,又要對機器語言了如指掌,對研究人員要求非常高。 谷歌生態建立了這么久,其規模非常龐大,其上的框架和、應用等非常多,想要重新做一個適配谷歌生態的編譯器,工作量可想而知,是非常巨大的。
華為是如何作出方舟編譯器呢? 據王博士介紹,華為在編譯器研發上的積累,可以追溯到2009年,華為海思研發起步時,當時吸引了第一批海內外研究人員加入,創建了編譯組。 2013年,華為自研并推出了用于基站的編譯器HCC,這也是華為編譯器框架構想的正式提出,也是方舟編譯器的前身。
2014年,Fred Chow( 周志德)加入華為并擔任華為編譯器技術首席科學家,建立了方舟編譯器的主架構。 2015年華為推出自研編程語言CM,2016年成立編譯器與編程語言實驗室,2019年華為正式推出方舟編譯器。 前前后后共計十年時間,經過了幾百位研究人員的努力,投入的資金也有幾億美元了。
王成錄博士表示,有了方舟編譯器優化的安卓系統在DNA上與蘋果iOS系統接近了。 華為下一步要做的工作就是推動生態建立,不斷將系統進行優化,讓用戶用上更純凈的安卓軟件。
方舟編譯器的四大技術亮點:
1、是一種多語言聯合優化編譯器,消除了跨語言調用的開銷
據王成錄博士介紹,當前Top級的應用95%以上都采用混合語言模式,涉及多種開發語言。 具體來說是程序的邏輯部分采用Java語言編寫,但為了增強安全性、可靠性、兼容性等能力,應用開發者可能會用C語言寫庫,供Java調用。 Java和C語言之間調用,是一定要通過接口去使用,這就會形成額外的性能開銷,而且相比于不需要調用的情況開銷很大。
而方舟編譯器則可以讓不同語言代碼在程序開發環境中環境中編譯成一套語言統一的可執行文件,在硬件的運行環境高效執行。 也就是說,方舟編譯器中吸納了現在安卓生態中的各種主流框架和庫,對不同語言做了統一的程序優化,直接編譯成機器指令。
2、程序運行時無需依賴虛擬機,減少資源占用,并且建立了高效的內存回收機制
Java語言有非常多的優勢,包括跨平臺、分布式,安全性高等。 Java語言在設計之初,有一個Java語言開發包,其中有一個非常重要的東西,就是虛擬機。 虛擬機的作用是,無論使用什么樣的硬件,都可以將其抽象成Java的運行環境,因此可以實現跨平臺,無論是X86、ARM架構,還是CPU的機器都沒問題。 虛擬機的出現則帶來了一個問題,只要把Java語言開發包裝上,虛擬機就一定會分配好,占用額外的系統資源。
那么ART虛擬機的作用是什么呢? 就是運行之前先把編譯準備好了,是一種靜態編譯。 通過引入了JIT編譯和AOT編譯能解決一部分效率問題,但是對于Java動態特性的部分仍做不到直接編譯,還是要解釋執行。 Java動態特性是為了降低開發難度,不需要開發者把所有的程序都寫好,只要能夠運行時實現調用就可以了。 這部分往往只能在運行時進行處理。
方舟編譯器最大的突破就在這里,把動態的部分全部變為靜態編譯,其核心是一定要對Java語言動態特性非常深入理解。 “就像一個優秀的翻譯官一定對漢語言文學理解的非常到位,然后再對英語理解非常到位。 ”Java是非常龐大的,需要對安卓現有的應用,可能會用到哪些庫,這些庫之間怎么用理解,需要大量的分析運行狀態,才能夠將這些動態特性完成提前的編譯。 同時由于方舟編譯器統一將程序編譯為機器語言,所以也是跨硬件平臺的。
早期C/C++需要開發者自己管理程序對系統內存的使用和釋放,影響開發效率。 Java的虛擬機模式提供了內存GC(垃圾回收)機制,在內存進行全局回收時,所有部分都要停下來,等待回收完成,這是產生隨機卡頓的重要原因。
方舟編譯器則是在編譯時,為程序配備及時回收的內存處理機制。 在程序運行的過程中都在實施處理,這是方舟編譯器又一個非常重要的技術突破。
3、可針對不同應用靈活編譯優化,翻譯出性能更佳的機器指令
一個翻譯器做得好不好,重要的衡量標準是能不能給程序帶來性能提升。 “編譯器和翻譯人類語言是一樣的,翻譯出來不太難,但是要翻譯的又快又好就太難了。 ”
所以,當方舟編譯器整套邏輯通了之后,還需要做大量的優化和調整。 一方面需要對Java語言的了解再深入再細致再重建; 另一方面對機器指令順序結構理解要更清楚。 這兩個匹配的方法越準確,編譯器效率越高。 王成錄博士表示,“一個好的編譯器,開發者一行代碼都不需要修改,性能能提升10%到20%”。
現有的安卓編譯,大部分代碼在虛擬機環境運行,其創建遵循同一套“模板”,所以難以作深度的優化。
方舟編譯器可針對不同應用靈活編譯優化,每個應用編譯優化方案由開發者自己來定,分別形成不同應用優化后的機器碼。
王成錄博士表示,方舟編譯器從立項之初最理想的目標就是不需要開發者更改業務代碼,大家只需要通過華為的方舟編譯器做重新編譯就足夠了。 現在可能還需要開發者作一些對接,但很快隨著一些應用進入,這個目標很快就能實現。
4、開發者學習和使用成本低,打包時即編譯
方舟編譯器的又一亮點是,在應用開發構建的階段為開發者提供快速的集成編譯環境。 而現行安卓系統則是在用戶將應用下載后,在終端上實現編譯的。
據王成錄博士介紹,在同一硬件平臺上,方舟編譯器讓系統操作流暢度提升了24%,系統響應速度提升44%,第三方應用操作流暢度提升60%。 在內存回收機制上方舟編譯器已經趕超了蘋果iOS系統。
方舟編譯器在今年4月隨著華為P30系列發布并宣布開源,華為接下已經為方舟編譯器制定好了上市計劃。 今年8月,在華為終端開發者大會上,華為將開源方舟編譯框架代碼,供開發者研究參考,11月的綠盟開發者大會上,華為將完整方舟編譯器代碼開源,讓開發者可編譯使用。
什么是超級文件系統EROFS?
隨著存儲介質的進步,文件系統也在被驅動著演進。 文件系統對磁盤讀寫效率有著重要影響。 此前,華為曾推出過F2FS,2016年就在華為P9上應用了,而這個是面向用戶分區的。 今天要提的超級文件系統EROFS,則是針對系統分區的。
安卓系統采用的模式是EXT4,文件塊定長輸入,變長輸出,導致同一個文件塊的內容可能會出現在不同的磁盤塊中,讀取時造成了浪費。
超級文件系統EROFS的特點是: 1、隨機讀寫的性能提升了20%; 2、采用先進的壓縮算法,減少了2GB; 3、采用只讀模式,讓系統更安全。 目前,EROFS文件系統已經開源,并已經合入Linux內核主線,在4.19版本發布。
據王成錄博士介紹,這一系統是華為研發人員一行行寫出來,100%原創。 其中,王成錄博士特別提到了壓縮算法,也是華為申請了專利的一項技術。
而EROFS文件系統的壓縮算法采用的則是文件塊變長輸入,磁盤塊定長輸出。 也就是說,將不同長度的文件塊壓縮成為統一大小的磁盤塊,這樣做的好處是不存在無效的讀取。
這樣做的好處是,隨機讀性能平均提升20%。 升級包大小下降約5%-10%,升級時間縮短了約20%。
EMUI未來演進的四大方向
在分享會上,智東西問到王博士,未來EMUI的優化方向有哪些時,王博士回答說主要集中在四個方面:
第一,基礎的性能仍然會持續投資 ,隨著硬件的變化,軟件的變化,上面應用的變化,對系統資源的應用永遠沒有夠的那一天,所以這個投資還會持續。
第二,體驗 ,雖然很多消費者對于華為UI吐槽非常多,但確實眾口難調。 王博士認為UI的背后一定有科學依據。 “我們現在找到的方向就是人因,我們在使用一個設備的時候一定要考慮設備本身的因素,環境因素和人的因素,這三個因素都考慮全了,在給消費者不同場景下恰當的反饋,這才是最好的體驗。 ”
什么是好的體驗? 就是手的操作和眼睛看到的,跟大腦期望是協調的這就是好的操作。 現在很多的體驗設計是缺少建模的,一定要根據不同的人群年齡段,性別去構建人的模型,看多大的字體更合適,多大的對比度,對這一類的人群是合適的,所以這種模型會構建的越來越完善,變成系統里面UI的算法,在不同場景下就會不一樣,這一塊華為努力在做。
第三,創新, 這個創新指的是,隨著應用的不一樣,場景的不同,沒有必要讓所有的應用嚴格的按照這個軟件的過程,一步一步都走完。 打個比方,有個應用運行了無數次了,已經證明是一個非常高質量、安全的應用,就沒有必要每次都做那么復雜的處理。
第四,中國在軟件工程領域非常缺人。 軟件開發人員經驗的積累,能不能沉淀為工具和平臺很關鍵,在中國沒有出現過一個非常優秀的軟件工具平臺。
在會上,王博士還特意提到了生態構建的重要性。 目前,在終端生態構建上,華為已建立三大開發者生態: 以HiAI平臺建立AI開發者生態; 以Link Turbo和方舟編譯器建立應用生態; 以HiLink和 HiCar建立連接生態。
此外,王成錄介紹說,今年Link Turbo將有突破,升級到2.0版本,將帶來對更多華為終端與更多應用的支持,讓更多用戶能享受極速流暢的網絡體驗。
結語: 華為EMUI正在從系統底層進行優化
無論是方舟編譯器還是超級文件系統EROFS,都是華為在系統底層進行優化的重要一步。 無論是方舟編譯器還是超級文件系統EROFS,都是華為在系統底層進行優化的重要一步。 當然,安卓開發生態建立多年,其優勢在于開源和自由,而其劣勢則也正是由此帶來的無序性發展,導致了終端運行效率低下。 而作為頭部的智能手機廠商,華為推出這個內容的初心是想進一步提升安卓系統的流暢性,也是出于自身發展和產品性能和體驗提升的考慮。
不過,也正如王成錄博士所說的那樣,華為做方舟編譯器是想要幫安卓陣營解決實際問題的,僅僅華為一家之力是不夠的,還需要終端廠商、開發者等一起努力。
標簽 華為- 原標題:華為王成錄:解密方舟編譯器和EMUI未來四大演進方向!
- 責任編輯:連政
- 最后更新: 2019-04-28 09:30:53
-
榮耀趙明:誰的行為low,誰在碰瓷,消費者都看得清清楚楚
2019-04-27 23:32 手機 -
日本"隼鳥2號"在小行星擊出隕石坑,系全球首次
2019-04-27 16:54 日本 -
華龍一號全球首堆提前50天啟動冷試
2019-04-27 15:58 -
荷蘭電信企業采用華為更新移動網
2019-04-27 15:35 -
消費需求占全球44%,中國大陸成晶圓建廠熱地
2019-04-27 11:27 -
客服稱P30 Pro防水必須堵上機身接口 華為高管回應
2019-04-27 10:26 -
華為徐直軍談5G:讓行業生產效率提升10倍
2019-04-27 09:38 華為 -
全球第四位,華為過去五年研發預算增長149%
2019-04-27 09:11 華為 -
收購芯片業務?蘋果和英特爾進行了“秘密談判”
2019-04-27 08:10 大公司 -
蘋果在香港等地召回插頭適配器:用戶或遭電擊
2019-04-26 22:00 -
倪光南:全國產固態硬盤主控將極大提高網絡安全性
2019-04-26 17:39 -
真的嗎?華為要出千元升降攝像頭手機?
2019-04-26 17:28 華為 -
英特爾仍繼續為新款iPhone供應4G基帶芯片
2019-04-26 17:03 -
日本可以失去華為嗎?日本各界怎么看
2019-04-26 11:35 大公司 -
新機配27W充電器卻只支持18W 聯想:多出的是愛
2019-04-26 11:12 大公司 -
程序員熱議的華為方舟編譯器是啥?一圖看懂
2019-04-26 10:19 TMT觀察 -
百度瀏覽器PC版部分功能停止服務
2019-04-26 10:02 -
“5G首戰告負”,諾基亞鴨梨山大
2019-04-25 19:12 5G -
諾基亞CEO駁斥5G霸權爭奪戰:共贏最重要
2019-04-25 15:34 5G -
芯片價格低迷、銷售疲軟 SK海力士Q1利潤大跌69%
2019-04-25 14:02
相關推薦 -
“中國在非洲真正贏得了民心,就連斯威士蘭…” 評論 70“日企抱團是絕望之舉,中國工廠效率質量都是第一” 評論 113“她下月訪華,盡管特朗普團隊表達了擔憂” 評論 53“中國有能力讓夢想照進現實,將贏得史詩般競爭” 評論 120最新聞 Hot
-
“中國在非洲真正贏得了民心,就連斯威士蘭…”
-
“日企抱團是絕望之舉,中國工廠效率質量都是第一”
-
“中國有能力讓夢想照進現實,將贏得史詩般競爭”
-
被災民暴罵到當場破防,馬克龍發飆:你該慶幸你在法國!
-
美高校敦促國際學生抓緊回來:萬一把中印拉黑名單呢
-
美國政府“逃過一劫”
-
“澤連斯基要求歐盟新外長:對華批評要降調”
-
澳大利亞來了,中國就得走人?澳總理這么回應
-
美媒感慨:基建狂魔發力,我們又要被超越了
-
英國剛公布新任大使,特朗普顧問就痛罵:傻X
-
“來自中國的老大哥能確保我們…”
-
俄羅斯的報復來了
-
澤連斯基罵普京“傻子”,俄方怒斥
-
還在扯皮中國,“涉華條款全刪了”
-
中國“光伏OPEC”發文嚴厲質問央企,怎么回事?
-
“最后一道貿易障礙,中國解除了!”
-