科技改變生活 · 科技引領未來
在今年華為P30系列國內發布會后,一個似乎是小插曲的宣布卻引發了渲染大波,那就是方舟編譯器的發布。這本來是一個針對開發者的產品,沒想到卻引發了用戶的高度關注,華為發布這款編譯器并且開源的目的到底是什么?這個編譯器到底厲害在哪里?25日下午的一場“華為有技術”的媒體分享會,為我們揭開了這個謎底。
安卓為什么不如蘋果?
盡管蘋果一直不思進取,產品和乏善可陳,但大部分人都依舊認為安卓不如蘋果,其中核心的原因就是因為安卓系統不如蘋果的iOS系統更加流暢,而且使用一段時間之后就會卡頓,這個卡頓的周期要遠小于iOS的周期。那么為什么安卓系統就不如iOS更快更流暢呢?其實這是安卓的一個先天不足,核心就在于安卓是全開放的平臺,特別是對上層應用沒有強制規則,而不同的手機又各自有自己的優化,相同品牌的手機,又有各自不同的版本,呈現了高度碎片化的特征。同時安卓內部還有一個虛擬機的機制,這也是安卓緩慢的元兇,就好像說你和老外對話必須要有一個翻譯在中間一樣,對話的效率顯然就會很低。
而iOS之所以更快的原因,也在于說沒有這個虛擬機的環節,程序編譯后就直接生成了機器指令,手機系統可以直接執行。而方舟編譯器要實現的就是這個無縫翻譯的功能,讓安卓也能像iOS一樣流暢。就好像現在汽車發動機分汽油和柴油,而通過方舟編譯器的工作就是讓不管什么油出來以后都可以讓發動機直接用。對于開發者來說,是一個大好事,因為無需做任何修改,只要將之前的代碼重新編譯,就可以實現更高速的運行效果。
當然,這是其中一個最主要的原因。除此之外,華為在今天還介紹了同時發布的EROFS 超級文件系統,則從系統讀取文件的角度提升了大約20%的速度,自然就更能直觀的感受到操控的流暢。同時,由于超級文件系統華為獨有的壓縮算法,還可以節約近2G的ROM空間,相當于系統安裝包少了2G,同時只讀的設計讓手機系統禁止被改寫,這樣也讓一些攻破手機系統的黑客舉措遭遇一道城墻,也讓安卓手機的安全性變得更強大。藉此全方位的舉措,安卓系統的流暢度方面可以完全實現對iOS的接近,甚至某些方面的超越,只是由于自己的開放性問題,在生態規范上還和iOS上有相當的距離。
做編譯器到底有多難?
在軟件開發領域,編譯器可以說是皇冠上的明珠,目前在中國,包括數據庫、操作系統等各方面的軟件產品都有人在做,而唯有編譯器在方舟推出之前,還是一個空白。這也是值得華為人驕傲的地方。事實上,華為在編譯器方面的布局已經非常久遠,差不多從10年前就開始進行投入開發,而在2014年Fred Chow加入后,開始有了巨大突破。說起這位大牛,其實還是一個華人,在40年前,就參與了勞倫斯利弗莫爾國家實驗室一個名叫“S-1"的超級計算機項目,GNU之父Richard Stallman最初就是基于該項目配套的編譯器來編寫C語言前端,后來由于性能原因又重寫了一個編譯器——GCC,而Fred Chow正是該項目編譯器的主力研發之一,是編譯器領域的頂級大佬,現在則是華為編譯器技術首席科學家。正是在他的帶領下,加上數百位名校出身的高級工程師的不懈努力,才讓方舟編譯器真正落地,其中投入不止數億美金,而現在華為則決定免費開源。
這其實完全是一個基礎領域的研究,而在商業上則可以說毫無必要,因為現有的產品完全是可用而且夠用的。但在戰略上又是無比重要,這就好像華為在海思芯片上的巨額投入一樣,外采完全可以,但自研才能真正把命運握在自己手中。正是從通信技術到SoC到底層系統軟件等各個基礎技術領域的不斷突破,才讓華為有了“自建生態”的可能。而大家所不斷傳言的華為手機系統,其實也就是一個備胎,方舟編譯器進可以大幅提升安卓系統的響應速度,讓安卓手機的體驗無限接近甚至超過iOS,退則可以在系統風險出現后,保障手機不會出現無系統無軟件可用的境況。
值得一提的是,方舟編譯器不僅支持所有安卓系統,更可以支持跨平臺的使用,包括ARM平臺、x86平臺的硬件產品都可以使用,這就包括了各色各樣的通訊設施,從這個角度來說,這也是5G時代打造一個全連接平臺的重要基礎所在。
EMUI9.1開啟全新安卓時代
不管是EROFS超級文件系統,還是方舟編譯器,都將在EMUI9.1上全面登場,這也成為華為EMUI近幾年最受矚目的系統版本。而事實上,P30pro上已經全面搭載了這個版本的EMUI,而且確實在流暢度上備受好評,現在這個系統會優先在那些手機上升級,能夠支持到多老的型號,都是華為用戶關注的焦點。盡管大家一直以來都能夠看到華為手機在硬件比如拍照上的進步,但對于系統升級的熱心,這恐怕還是熱度最高的一次。
其實華為一直在安卓底層的優化上不遺余力,也是谷歌長期的友好合作伙伴,在EMUI5.0推出的18個月不卡頓就是通過進程管理和更換文件管理系統來實現的,冒著很大的風險把F2FS系統用在5.0上了,這個改變也引發了全行業的跟風,可以說從那一次開始,安卓系統真正在流暢度方面達到了一個全新的高度。而另一個EMUI的技術高點就是出現在GPU Turbo這個技術發布的時候了,這個號稱嚇死人的技術,第一次通過軟件優化大幅提升了硬件GPU的性能表現,再度引發了行業跟風,不管有沒有技術,誰家都會推出個XXX Turbo來做宣傳。而在當時,什么機型可以支持這個技術,也就成為了華為用戶最為關心的問題,而且這個技術大大縮短了麒麟芯片和高通芯片在GPU性能方面的差距,奠定了華為手機在麒麟980時代一舉反超高通的基礎。
在今年8月華為終端開發者大會,華為就將方舟編譯器框架代碼開源供大家了解,而到了11月綠盟開發者大會,這個編譯器將會徹底開源,屆時會帶動更多的開發者來使用這個產品,而一個真正的華為生態也將就此啟航。必須要說,華為在基礎科學的研發上還是令人欽佩的,尤其是在短期無法看到商業價值的情況下,這種投入就更顯得高瞻遠矚。用任正非的話講就是“ 我們的(研發)標準是,在距離我們目標二十億光年的地方,投一顆“芝麻”;距離目標兩萬公里的地方,投一個“蘋果”;距離目標幾千公里的地方,投一個“西瓜”;距離目標五公里的地方,我們投“范弗里特彈藥量”,撲上去、撕開這個口子,縱向發展,橫向擴張,產品就領先世界了。”
宗寧