助力 Android 抗衡 iOS,華為發布方舟編譯器!
文章推薦指數: 80 %
傳說中的諾亞方舟可以拯救全人類,那麼活在現實的方舟編譯器是否真的能突破 Android 系統性能原有的限制?
要說上個月於巴黎召開的 P30 系列發布會,華為是以全硬體正面剛蘋果,那麼 4 月 11 日在上海面向國內市場推出 P30 系列手機的發布會,華為就是以不經意的姿態撩了一下 Google。
之所以這麼講,是因為這一次的發布會,引發國內消費者熱烈追捧的不僅是比國際版價格要低 2000 元左右的 P30 系列,還有著讓技術圈為之熱議的大事件,即華為消費者業務 CEO
余承東在發布會上僅花費短短兩分鐘時間「隨口一提」且富有神秘感的 Android 系統性能的革命性突破應用——方舟編譯器。
沒有一個硬實力,哪能隨便提革命性突破?
其實單從名稱上來看,不少人的第一感觀就是「高大上」,另外,其似乎也隱喻著未知的創新、無限的潛力以及豐富的擴展性等願景。
而對於這個名字的由來,不少網友猜測這可能與華為研發美國編譯技術首席科學家 Fred chow 有關:
第一,他是開源 Open 64 編譯器的首席架構師,具有 25 年的編譯器經驗,於 2014 年加入華為矽穀子公司 FutureWei;
第二,Fred chow 音譯過來可以看成是「方舟」。
那麼真實的方舟編譯器究竟具有怎樣的「魅力」?根據余承東在發布會現場的解釋,華為方舟編譯器可解決 Android 程序「邊解釋邊執行」的低效,能達到架構級優化,且顯著提升性能。
為此,余承東還以汽車運行的例子來凸顯兩種的差別:
- 現有的 Android 系統:存在邊解釋邊執行的低效現象;
- 使用華為方舟編譯器:全程執行機器碼高效運行程序。
其中,邊解釋邊執行是怎麼一回事?全程執行機器碼又是什麼情況?
Android 編譯器原理
首先,不少程式設計師可能都知道,對於 CPU 而言,無論是用 Java、C/C++、還是用 Python 來寫應用,結果都一樣,因為其根本無法直接識別代碼。
畢竟當前的計算機只能根據電壓的高低變化來計算,即高電壓是 1 ,低電壓是 0, 而這種數制方式被稱之為二進位。
二進位代碼語言又被稱為機器語言,計算機可以直接識別。
因此無論是 Android 應用還是 iOS 應用,想要在 CPU
中運行,都需要經過翻譯或者編譯成機器碼。
接下來,將以 Android 平台舉例說明,眾所周知,大多數的 Android 應用都是由 Java 開發而成,而 Java 代碼的執行依賴於 Java 虛擬機(JVM),其提供了字節碼文件(.class)的運行環境支持,即在 Java 程序編譯成 .class 文件之後,由 JVM 將程序解釋給本地系統執行,其中,後者的過程通常被叫做「解釋執行」。
此外,還有一種叫做「編譯執行」的模式,這種模式主要分為兩種:
- JIT(Just-in-time,即時編譯),邊運行邊編譯;
- AOT(Ahead-Of-Time,運行時編譯),在程序運行前編譯,可以避免在運行時的編譯性能消耗和內存消耗。
就 Android 系統而言,首次引入 JIT 功能是在 Android 2.2 版本中,彼時Google 的目的是為了提高 Android 的運行速度,即當 App 運行時,JIT 編譯器就會對新類進行編譯,經過編譯後的代碼,會被優化成相當精簡的原生型指令碼,這樣在下次執行到相同邏輯的時候,速度就會更快。
不過好景不長,JIT 在運行時編譯開銷大,容易造成卡頓,所以在 4.4
版本之後,Dalvik 虛擬機被逐漸拋棄的過程中,JIT 也被棄用了。
而在隨後的 Android 5.0 系統中,ART 正式取代了 Dalvik,ART 中完全拋棄了 JIT,使用的是 AOT 的編譯方式,這種方式的好處是,當 App 在第一次安裝時,字節碼會預先編譯成原型指令碼,讓其成為真正的本地應用,這樣App
的啟動及運行速度都會大幅提升。
不過這種方式也存在巨大的缺陷,一是安裝應用時需要全面編譯,用戶等待安裝的時間過長;二是安裝過程中翻譯出來的機器碼占用了大量的內存空間。
因此,Google 為在安裝時間、內存占用、電池消耗和性能之間獲得折中方案,又於 Android 7.0 版本重新加入了 JIT 編譯模式,即當前的 Android 系統引入的是包含編譯、解釋和 JIT 的混合運行時。
詳細而言,當 App 安裝時,首先不用像 Android 6.0 中對應用進行完整的預編譯,而會根據 JIT 編譯器的分析結果,一方面,在設備充電或其餘空閒時間對「cold
code」進行解釋;另一方面,對「hot code」在實際使用時由 JIT 進行編譯。
來源:https://source.android.google.cn/devices/tech/dalvik/jit-compiler
以上即為華為所述的原有 Android 系統存在邊解釋邊執行的低效現象,至於方舟編譯器如何達成全程執行機器碼高效運行程序的?
由於該項目暫時還上線開源,目前尚未可知。
不過對此不少開發者猜測,方舟編譯器更可能是直接將應用程式的安裝包,即 APK 打包成機器碼格式,得以讓系統可以直接識別。
最終結果我們還需等待該項目開源之後才能揭曉謎底。
華為方舟編譯器將會對 Android 系統帶來什麼樣的影響?
不過,余承東於現場表示,通過方舟編譯器,不僅可以解決應用卡頓的問題,還可以為系統操作流暢度提升 24%、系統響應速度提升 44%,第三方應用操作流暢度提升 60%。
同時余承東也呼籲,希望 App 開發廠商儘快使用。
這樣看起來,性能大幅提升之後的 Android 應用與 iOS 系統中的應用差距正在逐步縮小,甚至大有超過的趨勢。
事實上,方舟編譯器能實現這樣的性能提升,無論是對企業、開發者,還是對用戶而言,也無疑都是一件好事。
而對於華為本身而言,從上個月余承東在接受德國《世界報》採訪時表示華為
已經為智慧型手機和電腦開發了自己的作業系統
,以防美國科技巨頭不再向其授權現有系統後,到這一次透露即將開源的編譯器,整體也可看成是華為正在為其尚未面世的作業系統的生態系統布局做好充足的準備。
那麼,對此,你怎麼看?
參考:
https://m.mydrivers.com/yidian/newsview.aspx?tid=523860&s=cm
https://blog.csdn.net/yifanyingying/article/details/79368410
華為再次推出新功能:手機流暢度最高提升60%,已宣布向業界開源
華為最近這兩年的發展速度非常快,甚至在今年已經提出,很可能將會在銷量上超過蘋果、三星成為全球第一。但是可能很多人都關注到華為手機在拍照上做到了全球第一,在手機的硬體晶片能力上擠進了第一陣營,卻忘...
EMUI9.1對安卓底層動刀背後,是華為與蘋果下半場之爭
文/王新喜日前,華為P30系列新機在國內已正式發布,讓筆者頗為關注的一個動作是,華為在新機上首發了EMUI9.1系統。EMUI9.1帶來了兩大黑科技突破,一是拿出了新的華為超級文件系統(EROF...
余承東:華為是核心大創新,友商只有小創新,華為性能不輸IOS
昨日,華為在上海發布了P30系列新機國行版本。其中華為P30 8+64G版本 售價為3988元,8+128G 4288元,8+256G版本 4788元。華為P30 Pro,8+128
除了P30價格,華為還公布了方舟編譯器
4月11日,華為P30國內發布會在上海東方體育中心召開,P30最後的懸念也被揭開。p30價格3988元起,p30 pro價格5488元起。與此同時,華為發布華為方舟編譯器,並優先開源給中國人使用。
除了P30系列拍照手機,華為的方舟編譯器能否帶來安卓性能革命? ...
昨天的上海發布會上,華為推出了P30及P30 Pro系列手機的國行版,起價分別是3988、5488元,還有一大堆的Matebook筆記本、Watch GT手錶、無線耳機等。從昨天到現在,大部分人...
帶你從底層詳細剖析Android性能落後於iOS之語言篇
一直以來Android性能一直落後於iOS,即使在Android系統的手機配置高於蘋果手機許多的情況下仍然處於下風,本文帶你從開發語言角度解釋其中的重要原因,大家都知道Android系統的應用程...
三方應用操作流暢度提升60% 華為發布方舟編譯器
4月11日,華為正式在上海舉辦華為P30系列發布會,發布了華為P30系列重磅產品以及新一代HUAWEI MateBook X Pro以及HUAWEI MateBook 14等。除此之外,華為也發...
華為宣布方舟編譯器 余承東:流暢度可提升60% 向全行業開源
IT168創立於1999年,20年數碼領域專業媒體,為你帶來最新、最專業的數碼資訊、評測內容。點擊右上角關注我們。4月12號消息,昨天,華為如約在上海舉辦了華為P30系列國行版發布會,宣布了革命...
華為方舟編譯器公布:號稱安卓革命性突破!
今天下午(4月11日),華為在上海舉行新品發布會,正式發布國行P30系列新機。在發布會上,華為消費者業務總裁余承東正式公布了「方舟編譯器」,號稱安卓的革命性突破。按照余承東的說法,現有安卓系統存...
華為宣布方舟編譯器:安卓應用流暢度可提升60%
除了蘋果iOS,如今幾乎所有手機都依賴於安卓系統,但同樣是安卓,不同廠商的二次加工又完全不同,比如華為就屢屢從安卓底層進行優化,不少經驗甚至都被Google拿去融合在了原生安卓系統中。
華為公布黑科技方舟編譯器:手機性能顯著提升 向全行業開源
今天的華為P30系列國行版發布會上,華為消費者終端業務CEO余承東除了給消費者帶來了萬眾期待的華為P30 Pro,還公布了一個全新的黑科技:華為方舟編譯器。該編譯器可以改善安卓應用編譯效率,從原...