0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

方舟編譯器讓安卓系統(tǒng)運行速度大幅度提升,甚至可以媲美iOS

rEOY_bjx_zndw ? 來源:陳年麗 ? 2019-08-15 10:27 ? 次閱讀

在經(jīng)歷美國全力打壓和封鎖近半年之后,華為反而爆發(fā)出了讓所有人矚目的實力。特別是近來,華為接連發(fā)布的經(jīng)過十年布局研發(fā)的方舟編譯器和鴻蒙操作系統(tǒng),再次讓外界見識到了華為真正的實力。雖然作為未來華為萬物互聯(lián)的基礎,鴻蒙操作系統(tǒng)顯然更重要,但畢竟鴻蒙系統(tǒng)還需要一段時間進行生態(tài)布局,和技術迭代來完善和適配。而方舟編譯器作為華為軟件生態(tài)的重要一環(huán),在當下就顯得非常重要了。

而方舟編譯器在發(fā)布之時,就宣稱一旦把安卓系統(tǒng)和應用重新用方舟編譯器編譯之后,安卓系統(tǒng)的運行速度將大幅提升,甚至將可以媲美iOS。特別是華為還宣布方舟編譯器將完全開源。如果方舟編譯器真能做到宣傳中的效果,毫無疑問,一旦方舟開源,必將有大批的開發(fā)者匯聚于此,使用方舟重新編譯自己的應用。而方舟編譯過的程序,將可以在鴻蒙上完美適配。因此只要方舟編譯器表現(xiàn)良好,那就會變成鴻蒙系統(tǒng)生態(tài)的吸粉神器。

那么方舟編譯器能否做到宣稱的徹底改良Android呢。首先我們先來看一下到底有哪些因素,導致Android天生就跑不過iOS。首先一點,其實Android就是用Java編寫的一個疊加在底層Linux內核之上的運行在用戶空間的大型用戶程序。并且Android把底層Linux系統(tǒng)的各種功能都包裝成了各種各樣的服務,而各種應用程序就可以通過調用Android提供的這些服務調用底層linux的各種功能,從而實現(xiàn)用戶的各種需求,如打游戲,看視頻等等。

也因此Android天生就繼承了java的各種優(yōu)缺點。優(yōu)點是Java的兼容性,可以全平臺使用。但缺點也因此而來,正是因為Java為了能全平臺使用,因此使用了虛擬機概念來屏蔽底層硬件的區(qū)別。因為Android也是跑在虛擬機上的。雖然谷歌為了提高性能,在Android迭代時,更換了不同版本的虛擬機,但畢竟虛擬機還在。這就意味著,Android的應用程序在運行時,必須要先經(jīng)過虛擬機的解釋,才能讓底層的Linux再執(zhí)行。這就大大拖累了Android的運行速度。

而且由于底層Linux系統(tǒng)是用C語言編寫的,而Android及其應用都是用Java編寫的。因此當用戶使用應用程序想使用一個功能,那么就必須從Android系統(tǒng)的Java調用這個功能的接口轉換成底層Linux系統(tǒng)的C語言調用接口。而這有需要JNI來完成從java接口到C接口的轉換,又要拖慢一點時間。而且對于Android來說,如果內存占用過高(如打開的應用太多)時,會執(zhí)行一個叫做GC的內存回收工具,進行內存碎片回收。但是要命的是,GC在執(zhí)行時會停止所有的程序運行,直到清理完畢。這也是為何Android手機為什么一直在大幅增加內存容量,就是為了盡量減少GC的運行次數(shù)。

而華為的方舟編譯器就一舉解決了這幾個困擾業(yè)界多年的難題。通過將java/c/c++代碼統(tǒng)一編譯,徹底解決了以往安卓必須依賴的JNI和虛擬機。而又通過引用計數(shù)法進行內存實時回收,避免了GC的系統(tǒng)卡頓。因此方舟編譯器才敢宣稱能大幅提升Android及其應用的運行速度。

說來簡單,但要知道方舟編譯器做到了業(yè)界自Java 1995年問世以來,一直依賴虛擬機,幾十年未變的框架。也是第一個真正能做到Java/C/C++代碼能夠直接混合成機器碼的編譯器??梢哉f,有了方舟編譯器,華為才真正的有可能構建起自己的生態(tài)。現(xiàn)在廣大程序員,都在期盼著華為盡早開放方舟編譯器的源碼。正如Linux之父,程序員之神Linus說的:Talk is cheap, Show me the code。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 華為
    +關注

    關注

    215

    文章

    34164

    瀏覽量

    249692
  • 編譯器
    +關注

    關注

    1

    文章

    1602

    瀏覽量

    48916
  • 鴻蒙
    +關注

    關注

    57

    文章

    2274

    瀏覽量

    42531
  • 方舟編譯器
    +關注

    關注

    0

    文章

    60

    瀏覽量

    175

原文標題:國網(wǎng)節(jié)能公司面向國家電網(wǎng)系統(tǒng)內外公開招聘65人!

文章出處:【微信號:bjx-zndw,微信公眾號:北極星智能電網(wǎng)在線】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    用功率運放OPA549T做電壓跟隨,出現(xiàn)大幅度振蕩的原因?怎么解決?

    用功率運放OPA549T做電壓跟隨,負載電流2.5A左右,電壓0到14v可變,只在下降沿和上升沿處出現(xiàn)大幅度振蕩,振蕩波形周期為200us,維持時間在5ms,根據(jù)datasheet推薦在輸出端加RC網(wǎng)絡補償,沒效果,哪位工程師能幫忙解決。
    發(fā)表于 09-10 07:03

    INA163 4引腳的電壓信號被大幅度衰減是怎么回事?

    中間的是INA163,測試的時候正常上電,給4引腳接入0.1V正弦電壓信號,在9引腳處測試輸出信號,發(fā)現(xiàn)被大幅度衰減,基本沒有信號,但是用5引腳測試時是正常的,所以想請教一下,可能存在的原因是什么?謝謝
    發(fā)表于 08-30 07:37

    INA317儀表放大器前級加跟隨,為什么會導致共模抑制比的大幅度下降呢?

    請問在儀表放大器正極、負極同時增加相同規(guī)格的電壓跟隨,為什么會導致共模抑制比的大幅度下降呢? 如果僅使用儀表放大器INA317,實測共模抑制比能達到110dB。而為了增加高輸入阻抗和驅動能力,前
    發(fā)表于 08-01 06:49

    任務編譯器v6.3r1運行速度太慢,是什么原因導致的?

    我使用的是 Tasking 編譯器 v6.3r1,在編譯時使用了優(yōu)化選項--optimize=0,編譯時間非常長。 事實上,我正在編譯的文件有 ~50.000 行代碼,但
    發(fā)表于 07-26 06:52

    人工智能編譯器與傳統(tǒng)編譯器的區(qū)別

    人工智能編譯器(AI編譯器)與傳統(tǒng)編譯器在多個方面存在顯著的差異。這些差異主要體現(xiàn)在設計目標、功能特性、優(yōu)化策略、適用范圍以及技術復雜性等方面。以下是對兩者區(qū)別的詳細探討,旨在全面解析其內在差異。
    的頭像 發(fā)表于 07-17 18:19 ?1345次閱讀

    SEGGER編譯器優(yōu)化和安全技術介紹 支持最新C和C++語言

    代碼生成,SEGGER編譯器生成非常小的代碼,非常適合內存受限的環(huán)境,而不會犧牲執(zhí)行速度。 2)?速度優(yōu)化:在最高優(yōu)化級別,SEGGER編譯器生成盡可能快的代碼,確保您的應用程序以峰值
    的頭像 發(fā)表于 06-04 15:31 ?1191次閱讀
    SEGGER<b class='flag-5'>編譯器</b>優(yōu)化和安全技術介紹 支持最新C和C++語言

    谷歌15將提升對助聽器支持,改善音頻體驗

    5 月 30 日,谷歌正式公布了 15 更新計劃,將大幅度提升
    的頭像 發(fā)表于 05-30 15:11 ?768次閱讀

    純血鴻蒙系統(tǒng),拿什么與、iOS比?

    、數(shù)碼、車載等等一系列生態(tài)閉環(huán)。 而華為鴻蒙是全棧自研底座,從AI大模型、AI框架、安全隱私、集成開發(fā)環(huán)境、設計系統(tǒng)、編程框體、編譯器、編程語言和文件系統(tǒng),到操作系統(tǒng)內核。去掉了傳統(tǒng)
    發(fā)表于 02-21 21:04

    MCU可以正常工作但是端口輸入脈沖信號后,讀值不準確大幅度變化是為什么?

    MCU還可以正常工作但是端口輸入脈沖信號后,讀值不準確大幅度變化,之前是好的,這是為啥呢,是MCU壞了嗎
    發(fā)表于 02-20 07:09

    ?納思達MSCI ESG評級獲得較大幅度提升

    ? ? ? 秉承環(huán)保理念? ? 踐行社會責任?? -納思達股份有限公司- 納思達MSCI ESG評級 獲得較大幅度提升 日前,國際權威指數(shù)公司MSCI(MorganStanley Capital
    的頭像 發(fā)表于 12-26 09:53 ?298次閱讀
    ?納思達MSCI ESG評級獲得較<b class='flag-5'>大幅度</b><b class='flag-5'>提升</b>

    TVM編譯器的整體架構和基本方法

    有將近兩個月沒有學習一些新東西,更新一下博客了。一直在忙公司的一個項目,是做一款支持LSTM和RNN的通用架構加速IP。自己恰好負責指令編譯工作,雖然開始的指令比較粗糙,沒有一套完整的編譯器架構
    的頭像 發(fā)表于 11-30 09:36 ?1942次閱讀
    TVM<b class='flag-5'>編譯器</b>的整體架構和基本方法

    編譯器的優(yōu)化選項

    這一點,需要了解編譯器的能力和限制;第三,要了解硬件的運行方式,針對硬件特性進行優(yōu)化。本文著重展開第二點和第三點。 簡單認識編譯器 要寫出高性能的代碼,首先需要對編譯器有基礎的了解,原
    的頭像 發(fā)表于 11-24 15:37 ?767次閱讀
    <b class='flag-5'>編譯器</b>的優(yōu)化選項

    如何加快32的運行速度

    如何會加快32的運行速度
    發(fā)表于 11-06 07:58

    嵌入式開發(fā)中的C語言編譯器設置

    編譯器的語義檢查很弱小,甚至還會“掩蓋”錯誤?,F(xiàn)代的編譯器設計是件浩瀚的工程,為了編譯器設計簡單一些,目前幾乎所有
    發(fā)表于 10-11 12:43 ?584次閱讀

    OpenHarmony 的js引擎用的是方舟編譯器

    OpenHarmony 的js引擎用的是方舟編譯器嗎?方舟編譯器不是用來編譯嗎?
    發(fā)表于 10-09 09:32