除了P30系列拍照手機,華為的方舟編譯器能否帶來安卓性能革命?……
昨天的上海發布會上,華為推出了P30及P30 Pro系列手機的國行版,起價分別是3988、5488元,還有一大堆的Matebook筆記本、Watch GT手錶、無線耳機等。從昨天到現在,大部分人都在討論的是華為P30系列手機的價格及拍照,但昨天的發布會上華為宣布的一項新技術可能更重要——華為宣布推出方舟編譯器,號稱安卓性能革命,架構級優化,顯著提升性能,第三方應用性能可以提升多達60%。
根據華為的介紹,現有的安卓系統是「邊解釋邊執行」,存在效率低下的問題,而華為方舟編譯器全程執行機器碼高效運行程序,帶來了架構級優化,顯著提升性能。
至於性能如何提升,華為給出的數據稱基於方舟編譯器,系統操作流暢度提升了24%,系統響應速度提升44%,第三方操作流暢度提升了60%。
關於流暢度提升,華為有個Galaxy S10 手機與華為P30 Pro的操作對比視頻,地址在這裡,主要對比了兩款手機打開微博的速度及操作的流暢性。
對於編譯器,除了專業人員之外絕大多數人都是很陌生的,甚至非編譯器領域的安卓工程師也不一定了解。編譯器的意義,對PC玩家來說可能更好理解一點,因為AMD、英特爾處理器在這個問題上就有不同的表現,英特爾不僅處理器做的好,還擁有被稱為業界最強的編譯器,而英特爾之前的軟體優化手冊中也提到過在使用自家編譯器的時候處理器會有額外性能提升,此前我們也有個文章提到過這事。
那麼華為的方舟編譯器到底如何呢?看了下一些程序員大佬集中的網站及社區,從知乎到V2EX等等,意見基本上分為三類:
·華為又TM吹牛了,垃圾企業,只會玩營銷忽悠中國人,別忘了emmc優化ufs的教訓
·華為太NB了,沸騰了,全球能改動安卓底層的有300人,100人在谷歌,100人在華為
當然,除了上面兩種截然相反的意見,還有一些大佬是在認真分析華為方舟編譯器的作用的,
·現在的 Android 是邊解釋邊執行的嗎?可以說是,也可以說不是。上面我已經提到了,現在的 Android 是 解釋執行 還算可以的JIT AOT 的模式。並且,你也可以手動把應用的代碼全部提前編譯達到完全 AOT 的效果(很多答案裡面提到的 AOT 就是說的這種);不過這屬於開倒車,Google 肯定不會這麼做。這樣做效果有多大呢?這個我有發言權。之前在支付寶做性能優化的時候,我干過這麼一回事:讓應用在後台運行的時候請求系統直接採用 everything 模式編譯支付寶,本地測試啟動速度有爆炸性提升(30%~50%);但是灰度測試的時候效果不明顯,為什麼呢?其一是後台全編譯運行成功率低,其二是系統的 JIT 後台 AOT 不是吃素的;考慮到耗電/占空間的問題壓根沒上線。所以如果華為只是簡單地用這種方式去避免所謂的「邊解釋邊執行」那就相當滴 low,但是按照 GPU Turbo這種黑科技來看,我覺得不太可能是這個。
·除了 Android 系統的這種 AOT 之外,難道沒有別的辦法了嗎?我不負責任地猜測一下,方舟編譯器是不是在Android 應用打包成APK的時候,直接把 Java 代碼編譯為了機器碼?注意這個跟Android系統的那個 AOT 是不樣的,系統是在應用安裝或者系統空閑的時候做編譯;這種方式你下載到的安裝包就是編譯好的了,不需要系統動手。
如果是第一種,辣雞華為。如果是第二種,吊炸天!!!當然還有別的可能,不管咋樣,靜待開源 :)
在發布會上,華為宣布方舟編譯器開源,不過目前還沒放出源碼,但華為呼籲業界積極採用方舟編譯器。至於華為最終是怎麼實現的,有沒有虛假的成分,等到源碼發布之後會有人分析驗證的。
※比特大陸發布S17系列螞蟻礦機:第二代7nm晶元,56TH/s算力
TAG:超能網 |