91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

華為方舟編譯器詳細(xì)解讀 真的比安卓快嗎

454398 ? 來源:工程師吳畏 ? 2019-08-12 08:58 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

8 月 9 日,華為開發(fā)者大會鴻蒙OS正式發(fā)布,這是基于微內(nèi)核的全場景分布式OS。能實現(xiàn)模塊化解耦,對應(yīng)不同設(shè)備(智慧屏、穿戴設(shè)備、車機、智能音箱、手機)可彈性部署。華為消費者業(yè)務(wù) CEO 余承東描述了華為鴻蒙 OS 的方方面面。

余承東稱,華為方舟編譯器,會通過多終端 IDE 開發(fā)環(huán)境來支撐當(dāng)前的鴻蒙 OS。目前方舟編譯器支撐鴻蒙內(nèi)核,“方舟編譯器能提升60%的編譯性能”,將來鴻蒙微內(nèi)核能按需擴展,并希望用一個鴻蒙微內(nèi)核代替全部內(nèi)核。

今天,我們就聚焦華為的新貴——方舟編譯器,這個一發(fā)布就引起巨大響動的底層核心技術(shù)。方舟編譯器究竟是什么?它為什么能夠做到“青出于藍(lán)而勝于藍(lán)”,下面就讓我們帶著疑問去解讀。

01 編譯器是什么?

首先講講編譯器是什么東西吧?其實絕大多數(shù)用戶都不清楚這是什么。程序員們在寫好應(yīng)用的代碼之后,在變成我們手機上安裝的應(yīng)用之前,還差最后一步就是編譯。

簡單來說,編譯器就是把編程人員開發(fā)的高級語言程序,翻譯成機器可執(zhí)行的機器指令,這就是編譯器。它就像一位翻譯官,是連接程序員與機器的橋梁。

由此來看,方舟編譯器面向的是開發(fā)者的,但最終受益的還是消費者。

打個比方,說計算機是汽車,那么軟件就像汽車的操控系統(tǒng)一樣。編譯器則是汽車發(fā)動機里最核心的汽油燃燒技術(shù),將軟件變成計算機的動力,其編譯的效率,直接決定了用戶的使用體驗。所以了解方舟編譯器之前,我們必須得首先了解 Android 操作系統(tǒng)中的編譯器的運行機制。

安卓系統(tǒng)從2008年1.0到9.0,截至目前安卓系統(tǒng)大小版本超過15個。十年發(fā)展安卓手機的體驗已經(jīng)今非昔比??缮钪羞€有很多人詬病安卓手機沒有iPhone流暢,那么安卓系統(tǒng)的程序是怎樣運行的?下面我們來闡述一下

Java的虛擬機的故事

Android 1.0剛發(fā)布的時候,使用的是一個叫Dalvik的虛擬機(Virtual Machine,簡稱 VM)里面集成了一個解釋器,每次用戶在安卓手機上運行APP時,就會喚醒解釋器,來給安卓的硬件解釋APP接下來要干什么。

這個問題嚴(yán)重拖了安卓手機的后腿,所以Android2.2版本引入了JIT機制。JIT比較聰明,當(dāng)用戶在安卓手機運行APP時,會同時將用戶經(jīng)常使用的功能編譯為機器能直接執(zhí)行的機器碼,不用一句一句去翻譯。當(dāng)出現(xiàn)不常用的功能時,再喚醒解釋器翻譯。

但是每次啟動APP都要重新編譯一次,加上Dalvik虛擬機性能比較落后,所以谷歌在Android 5.0版本將虛擬機從Dalvik替代成ART,同時把JIT的編譯器替代成AOT 。AOT相比JIT的好處,就是不用每次打開APP都需要先編譯一遍。但是,壞處是安裝應(yīng)用慢和占用內(nèi)存空間。

在 Android 5.0 正式采用 ART 之前,Android 采用的是解釋執(zhí)行+JIT 的方式執(zhí)行 Java 代碼。在這個階段的系統(tǒng)是“邊解釋邊執(zhí)行”模式,代碼效率比較低下,當(dāng)時Android給人的感覺就是卡。

目前的Android采用的是解釋執(zhí)行+JIT+AOT 的模式,但并沒有擺脫一個前提,即應(yīng)用在被打包成APK的時候,采用的還是Java代碼。

JNI接口調(diào)度占用額外資源

現(xiàn)在大部分應(yīng)用都是使用Java和C/C++等多種語言混合開發(fā)而成。Java和C/C++屬于兩種不同架構(gòu)的語言,為了使APP正常運行,它倆之間需要互通的接口——JNI。

這就意味著手機硬件資源要分配一部分給JNI去做調(diào)度。不僅占用了硬件資源,而且這種機制本身就效率較低。

安卓內(nèi)存回收機制容易造成卡頓

當(dāng)手機內(nèi)存資源不夠用的時候,安卓虛擬機就會召喚GC(Garbage Collection),讓所有手機運行的Java線程全部暫停,GC機制,無法精確控制內(nèi)存回收,所以性能較差的手機間歇的出現(xiàn)“抽搐般”的卡頓現(xiàn)象。

以上這幾個問題,一直影響著安卓手機的體驗。其中最主要的是Java 高級語言轉(zhuǎn)換機器能懂的語言,這一轉(zhuǎn)換過程直接導(dǎo)致了Android的卡頓。反觀iOS系統(tǒng),直接使用Clang/LLVM來編譯出機器碼,就沒有安卓還要一個中間層,也因為如此,我們感覺iOS系統(tǒng)一般更流暢。

02 方舟編譯器牛在哪? “干掉”虛擬機

方舟編譯器做的就是,將Java的所有語句統(tǒng)統(tǒng)翻譯成機器碼,最后打包成APK安裝文件。方舟編譯器最大的優(yōu)勢在于它繞過了虛擬機。簡單來說,方舟編譯器可以將高級語言(Java)直接變成機器碼,無需再通過 Android 系統(tǒng)中內(nèi)置的編譯器。

總之,方舟編譯器是完全替代了語言虛擬機的靜態(tài)編譯器,從此不再需要解釋器。相比現(xiàn)有的編譯機制有以下明顯優(yōu)勢:

1、方舟編譯器是一種靜態(tài)的編譯方式,而現(xiàn)有的安卓系統(tǒng),運行一個應(yīng)用程序首先啟動虛擬機,然后讀入應(yīng)用代碼逐條解釋執(zhí)行,無法做到100%做到擺脫虛擬機,這也是當(dāng)前安卓陣營面臨的問題。

簡單一句話,只要是經(jīng)過編譯器編譯的應(yīng)用,在應(yīng)用市場上架以后,用戶下載的APK 就是編譯好的了,方舟編譯的應(yīng)用在開發(fā)階段就已完成了。

2、華為方舟編譯器的靜態(tài)編譯方式可將語言里的動態(tài)特性直接翻譯成機器碼,手機安裝應(yīng)用程序后可全速運行程序,徹底干掉了虛擬機,極大提升了系統(tǒng)運行效率。

方舟編譯器對于系統(tǒng)在這方面的提升,官方曾這樣描述:

一、EMUI 9.1對系統(tǒng)主要服務(wù)System Server進行靜態(tài)編譯化,帶來了系統(tǒng)流暢度提升24%,系統(tǒng)響應(yīng)性能提升44%以上的收益。

二、微博極速版實現(xiàn)了靜態(tài)化編譯后,流暢度提升高達(dá)60%。通過上方演示視頻來看,經(jīng)過方舟編譯優(yōu)化的APP,在流暢度度方面的提升很明顯。

03 新的內(nèi)存垃圾回收機制

此外,方舟編譯器還帶來了新的系統(tǒng)垃圾回收機制。以往安卓的垃圾回收機制是集中回收,由于Java虛擬機的特點,系統(tǒng)會不停的地自動回收內(nèi)存垃圾,保證內(nèi)存不會溢出。

更要命的是,當(dāng)內(nèi)存低于某個標(biāo)準(zhǔn)值后,它就會自動殺掉優(yōu)先級低的進程。系統(tǒng)會集中關(guān)閉被標(biāo)記的多余進程,這就造成了隨機性的卡頓。相信大家遇到過這種情況,啟動游戲時,點按應(yīng)用瞬間進入前會感覺莫名的卡頓,界面像是遲鈍了一下。

而方舟編譯器在這方面有什么不同,它的內(nèi)存回收機制是隨用隨回收,回收時不需要暫停應(yīng)用,而是直接回收內(nèi)存垃圾,這大大提高了系統(tǒng)運行速度和效率。

小結(jié):方舟編譯器的優(yōu)勢,可以簡單總結(jié)為以下五個方面:

1.安卓程序編譯效果更好

2.安卓應(yīng)用安裝速度更快

3.APP運行速度更快

4.系統(tǒng)內(nèi)存垃圾隨用隨清,對手機硬件的要求降低

5.省電

04 十年造方舟,為安卓提速為真,支撐鴻蒙也為實

十年磨一劍,沒錯,華為方舟編譯器準(zhǔn)備了十年之久。2009年,華為啟動5G基礎(chǔ)技術(shù)研究的同時,開始創(chuàng)建編譯組,第一批海內(nèi)外研究人員加入。

2013年,華為推出面向基站領(lǐng)域的自研編譯器HCC,并正式提出編譯器框架構(gòu)想。

2014年,眾多海內(nèi)外專家加入華為,方舟項目正式啟動。同時,編譯器領(lǐng)域的頂級大佬,周志德(Fred Chow)的加入大大增強了研發(fā)實力

2016年,成立編譯器與編程語言實驗室。2019年,華為方舟編譯器正式面世!

方舟編譯器既能統(tǒng)一適配安卓機器語言,自然也能適配成自家系統(tǒng)的機器語言——鴻蒙OS,方舟編譯器為“安卓提速”為真,但能“支撐鴻蒙”也為實,它完全可稱為讓開發(fā)者從安卓到鴻蒙過渡的“諾亞方舟”。

05對外開源 構(gòu)建生態(tài)

據(jù)悉,方舟編譯器也將開放給第三方合作伙伴。其后續(xù)會在 2019 年 11 月的綠盟開發(fā)者大會實現(xiàn)完整方舟編譯器代碼開源,讓廣大的應(yīng)用開發(fā)者、手機廠商參與,共同構(gòu)建開發(fā)者生態(tài),使安卓體系變得更加完整強大。

未來方舟編譯器是否能成功,還要看后續(xù)完整生態(tài)的搭建。希望開發(fā)者積極參與進來,最終給消費者帶來更為極致的體驗。

總結(jié):

從方舟編譯器我們就能看出華為對研發(fā)的投入,以及對未來生態(tài)搭建的規(guī)劃,或許,想要做一個操作系統(tǒng)并不難,比如阿里云OS,但難的是未來完整生態(tài)的構(gòu)建。

無論怎么看待華為,目前,在國內(nèi)也只有它有實力去干這件事情,并不只是說說而已,華為的終極目標(biāo)很明顯,就是在未來搭建全方位的生態(tài)。我們期待這項技術(shù)能夠普及開來,促進Android體系更加強大,也希望華為能在未來帶給我們更多驚喜。

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

    關(guān)注

    218

    文章

    36097

    瀏覽量

    262336
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1672

    瀏覽量

    51767
  • 安卓
    +關(guān)注

    關(guān)注

    5

    文章

    2185

    瀏覽量

    60387
  • 鴻蒙系統(tǒng)
    +關(guān)注

    關(guān)注

    183

    文章

    2642

    瀏覽量

    69961
  • 方舟編譯器
    +關(guān)注

    關(guān)注

    0

    文章

    63

    瀏覽量

    803
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    主板定制_MTK聯(lián)發(fā)科系統(tǒng)主板PCBA方案開發(fā)

    在智能設(shè)備迅速發(fā)展的浪潮中,系統(tǒng)憑借其開源靈活性與強大的生態(tài)系統(tǒng),已成為物聯(lián)網(wǎng)終端、工業(yè)控制設(shè)備及消費電子行業(yè)的核心選擇。而作為智能設(shè)備的“心臟”,主板的性能、功耗及擴展性直接
    的頭像 發(fā)表于 12-26 20:31 ?466次閱讀
    <b class='flag-5'>安</b><b class='flag-5'>卓</b>主板定制_MTK聯(lián)發(fā)科<b class='flag-5'>安</b><b class='flag-5'>卓</b>系統(tǒng)主板PCBA方案開發(fā)

    性能突破 | SpacemiT-X60 在 LLVM 編譯器上實現(xiàn) 16% 顯著提升

    2025年10月,在北美RISC-V峰會上,Igalia編譯器工程師Mikhail發(fā)表專題演講《Unlocking15%MorePerformance
    的頭像 發(fā)表于 11-21 18:04 ?8944次閱讀
    性能突破 | SpacemiT-X60 在 LLVM <b class='flag-5'>編譯器</b>上實現(xiàn) 16% 顯著提升

    開源鴻蒙技術(shù)大會2025丨編譯器與編程語言分論壇:語言驅(qū)動系統(tǒng)創(chuàng)新,編譯賦能生態(tài)繁榮

    在萬物智聯(lián)的時代背景下,操作系統(tǒng)底層能力的構(gòu)建離不開編程語言與編譯器的關(guān)鍵支撐。作為開源鴻蒙生態(tài)的核心技術(shù),語言設(shè)計與編譯器、虛擬機實現(xiàn)的進步直接關(guān)系到開發(fā)效率、運行性能與系統(tǒng)安全。本次分論壇聚焦
    的頭像 發(fā)表于 11-20 17:24 ?988次閱讀
    開源鴻蒙技術(shù)大會2025丨<b class='flag-5'>編譯器</b>與編程語言分論壇:語言驅(qū)動系統(tǒng)創(chuàng)新,<b class='flag-5'>編譯</b>賦能生態(tài)繁榮

    GCC編譯器,怎么才能實現(xiàn)c文件中未被調(diào)用的函數(shù),不會被編譯呢?

    GCC編譯器,怎么才能實現(xiàn)c文件中未被調(diào)用的函數(shù),不會被編譯?有什么編譯選項可以設(shè)置嗎? 移植代碼,有些函數(shù)沒被調(diào)用的函數(shù)想留在代碼里,但不想被編譯,
    發(fā)表于 09-28 12:25

    如何在Keil中將NuMicro BSP從Arm編譯器5遷移到編譯器6?

    在Keil中將NuMicro BSP從Arm編譯器5遷移到編譯器6!
    發(fā)表于 08-20 06:29

    邊緣設(shè)備AI部署:編譯器如何實現(xiàn)輕量化與高性能?

    電子發(fā)燒友網(wǎng)綜合報道 AI編譯器是專門為人工智能(AI)和機器學(xué)習(xí)(ML)模型設(shè)計的編譯器,其核心目標(biāo)是將高級的AI模型描述(如計算圖、神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu))轉(zhuǎn)換為特定硬件平臺(如CPU、GPU、FPGA
    的頭像 發(fā)表于 07-06 05:49 ?6751次閱讀

    編譯器功能安全驗證的關(guān)鍵要素

    在汽車、工業(yè)、醫(yī)療等安全關(guān)鍵型應(yīng)用中,確保功能安全合規(guī)性需要嚴(yán)格的工具鏈驗證。開發(fā)安全關(guān)鍵型軟件的企業(yè)必須遵守ISO 26262、IEC 61508、ISO 62304等國際標(biāo)準(zhǔn)對編譯器工具鏈進行全面的驗證。
    的頭像 發(fā)表于 07-05 13:37 ?1611次閱讀

    原生兼容服務(wù)

    原生兼容服務(wù)的定義 原生兼容服務(wù)?指基于Android系統(tǒng)內(nèi)核和服務(wù)框架構(gòu)建的服務(wù)
    的頭像 發(fā)表于 06-19 17:32 ?617次閱讀

    兆松科技ZCC編譯器全面支持芯來科技NA系列處理

    近日,兆松科技(武漢)有限公司(以下簡稱“兆松科技”)宣布正式發(fā)布高性能RISC-V編譯器ZCC 4.0.0版本。
    的頭像 發(fā)表于 06-11 09:56 ?1795次閱讀

    RISC-V架構(gòu)下的編譯器自動向量化

    進迭時空專注于研發(fā)基于RISC-V的高性能新AICPU,對于充分發(fā)揮CPU核的性能而言,編譯器是不可或缺的一環(huán),而在AI時代,毫無疑問向量算力將發(fā)揮越來越重要的作用。進迭時空非常重視RISC-V
    的頭像 發(fā)表于 06-06 16:59 ?1297次閱讀
    RISC-V架構(gòu)下的<b class='flag-5'>編譯器</b>自動向量化

    請問CYUSB3014支持驅(qū)動嗎?

    [i]請問CYUSB3014 支持設(shè)備嗎?應(yīng)該使用什么驅(qū)動呢
    發(fā)表于 05-30 07:12

    迅為RK3588開發(fā)板GPIO調(diào)用APP運行測試

    將網(wǎng)盤上的工程文件復(fù)制到 Windows 電腦上。確保工程路徑中使用英文字符,不包含中文。接著,啟動 Android Studio,點擊“Open”按鈕選擇應(yīng)用工程文件夾,然后點擊“OK”。由于
    發(fā)表于 05-13 10:49

    RVCT編譯器是否GNU的編譯器的代碼執(zhí)行速度更快?

    ,是rvct3.1還是rvct4.0?如何把rvct編譯器集成到ide中? 2、RVCT編譯器是否GNU的編譯器的代碼執(zhí)行速度更快?
    發(fā)表于 05-08 07:49

    HighTec編譯器全面支持芯馳科技車規(guī)MCU芯片E3650

    近日,HighTec與芯馳科技共同宣布HighTec編譯器套件將全面支持芯馳新一代旗艦智控MCU-E3650芯片。此次合作,進一步豐富了芯馳車芯產(chǎn)品的工具鏈生態(tài),雙方將攜手為客戶提供高性能、高安全性的解決方案。
    的頭像 發(fā)表于 04-28 15:20 ?1859次閱讀

    HighTec編譯器全面適配紫光同芯THA6 Gen2系列產(chǎn)品

    近日,紫光同芯與全球領(lǐng)先的汽車級C/C++編譯器供應(yīng)商HighTec共同宣布,HighTec編譯器完成對紫光同芯THA6 Gen2系列產(chǎn)品的全面適配。此次合作實現(xiàn)了從指令集優(yōu)化到功能安全的全棧支持,是國產(chǎn)高端車規(guī)芯片與國際領(lǐng)先開發(fā)工具的深度技術(shù)融合,將為全球汽車電子開發(fā)者
    的頭像 發(fā)表于 04-02 09:42 ?1235次閱讀