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

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

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

華為展示方舟編譯器,要讓安卓徹底改頭換面?

4Adf_zealertech ? 來(lái)源:YXQ ? 2019-04-28 11:05 ? 次閱讀

在之前的華為 P30 中國(guó)發(fā)布會(huì)上,華為曾表示通過(guò)方舟編譯器可實(shí)現(xiàn)系統(tǒng)操作流暢度提升 24%,系統(tǒng)響應(yīng)提升 44%,第三方應(yīng)用操作流暢度提升 60%。其可以說(shuō)是華為 P30 系列體驗(yàn)背后的最大功臣之一。

4 月 25 日下午,華為在北京舉行了“華為有技術(shù) EMUI 媒體沙龍”活動(dòng)。在這次活動(dòng)上,華為首次站在官方的角度,詳細(xì)解釋了 P30 系列在 EMUI 9.1 系統(tǒng)中所使用的方舟編譯器的應(yīng)用原理。

今天,小雷(微信:leitech)就在第一時(shí)間為大家解讀華為這項(xiàng)新技術(shù),看看方舟編譯器到底神奇在何處。

首先我們要了解一下什么是編譯器。簡(jiǎn)單來(lái)說(shuō),編譯器就是將我們能夠理解的語(yǔ)言翻譯為計(jì)算機(jī)能夠理解的以 0 和 1 構(gòu)成的語(yǔ)言。

就像我們和外國(guó)人交流一樣,語(yǔ)言不同是很難溝通的,但只要將其中一種語(yǔ)言翻譯成對(duì)方能聽(tīng)得懂的語(yǔ)言,就能交流成功了。

華為方舟編譯器最大的特點(diǎn)在于,它是業(yè)內(nèi)第一款支持多語(yǔ)言聯(lián)合優(yōu)化的編譯器,也就是說(shuō)無(wú)論是 C/C++還是 Java 都支持。

因此面對(duì)采用混合語(yǔ)言開(kāi)發(fā)的安卓應(yīng)用,方舟編譯器可以在開(kāi)發(fā)環(huán)境中編譯成統(tǒng)一的流程,通過(guò)統(tǒng)一的程序表示和優(yōu)化來(lái)執(zhí)行,效率更高。

也就是說(shuō),現(xiàn)有安卓的運(yùn)行機(jī)制就像是兩個(gè)人各自準(zhǔn)備任務(wù),最后將他們的準(zhǔn)備的結(jié)果綜合在一起執(zhí)行。而方舟編譯器則是讓這兩個(gè)人一起準(zhǔn)備,之后再一同執(zhí)行任務(wù)。

安卓系統(tǒng)本身的編譯是要通過(guò) ART 虛擬機(jī)運(yùn)行,因此系統(tǒng)資源占用較大。而方舟編譯器則是在開(kāi)發(fā)的時(shí)候就已經(jīng)完成了靜態(tài)編譯,因此不需要依賴手機(jī)本身編譯。

打個(gè)比方,以開(kāi)卷考試為例,一個(gè)學(xué)生是在考試之前就預(yù)習(xí)好了可能會(huì)考到的知識(shí)點(diǎn),做好了對(duì)應(yīng)內(nèi)容的標(biāo)記,拿到卷子就迅速動(dòng)筆;而另一個(gè)學(xué)生則是靠“臨場(chǎng)發(fā)揮”,在考場(chǎng)上臨時(shí)翻閱資料,占用大量考試時(shí)間。

同時(shí),方舟編譯器還提供了更高效的內(nèi)存回收機(jī)制。由于不需要經(jīng)過(guò)虛擬機(jī),應(yīng)用在運(yùn)行過(guò)程中不需要暫停,同時(shí)隨時(shí)回收內(nèi)存,而不是將垃圾堆在一起回收。

方舟編譯器還有一大核心功能就是對(duì)代碼進(jìn)行優(yōu)化。所謂代碼優(yōu)化,就是為程序帶來(lái)更高的性能。

舉個(gè)很簡(jiǎn)單的例子,就是同一個(gè)人考兩次試,怎么才能讓第二次比第一次考的更好,其實(shí)就是要對(duì)復(fù)習(xí)進(jìn)行優(yōu)化。

前面說(shuō)到,現(xiàn)有安卓系統(tǒng)的動(dòng)態(tài)編譯是利用 ART 虛擬機(jī)在機(jī)器上執(zhí)行,而方舟編譯器則是在開(kāi)發(fā)的時(shí)候進(jìn)行靜態(tài)編譯。

因此,前者只能采用簡(jiǎn)單的優(yōu)化算法,而后者可以突破手機(jī)機(jī)能限制,根據(jù)不同的應(yīng)用采用不同的編譯和優(yōu)化算法。

最后,華為方舟編譯器還有一大亮點(diǎn)是學(xué)習(xí)和使用成本低。由于在 APP 發(fā)布之前的打包階段就已經(jīng)集成了編譯環(huán)境,因此對(duì)于開(kāi)發(fā)者來(lái)說(shuō),整個(gè)流程其實(shí)是被簡(jiǎn)化了,使用下來(lái)更方便。

華為表示,方舟編譯器將從 2019 年開(kāi)始全面開(kāi)源。這也就是說(shuō)無(wú)論是手機(jī)廠商,還是應(yīng)用開(kāi)發(fā)者都可以使用方舟編譯器來(lái)優(yōu)化應(yīng)用的性能。

總的來(lái)說(shuō),通過(guò)華為方舟編譯器編譯應(yīng)用相比現(xiàn)有安卓的優(yōu)勢(shì)主要在于:

1、釋放機(jī)器編譯壓力,在開(kāi)發(fā)時(shí)完成應(yīng)用的靜態(tài)編譯,不經(jīng)過(guò)ART虛擬機(jī)。

2、采用不同類(lèi)型的應(yīng)用優(yōu)化方案,讓?xiě)?yīng)用運(yùn)行效果達(dá)到最優(yōu)。

3、提供更有效的內(nèi)存回收機(jī)制,提升系統(tǒng)流暢度。

4、簡(jiǎn)化編譯流程,降低開(kāi)發(fā)者學(xué)習(xí)和使用成本。

除了方舟編譯器外,華為還介紹了讓系統(tǒng)流暢運(yùn)行的另外一大關(guān)鍵點(diǎn),就是 EROFS 超級(jí)文件系統(tǒng)。

相比之前的 F2FS 文件系統(tǒng),P30 系列所采用的 EROFS 文件系統(tǒng)可以提升 20%的隨讀性能,機(jī)身可用存儲(chǔ)空間增加 2GB,并采用只讀設(shè)計(jì)。

對(duì)比另外一個(gè)只讀壓縮文件系統(tǒng) squashfs,EROFS 最明顯的優(yōu)勢(shì)是幾乎不存在無(wú)效讀取。

但由于采用更安全的 EROFS,本質(zhì)上 P30 的系統(tǒng)會(huì)比以前的華為機(jī)型更加封閉。EROFS 是一個(gè)完全只讀設(shè)計(jì)的文件系統(tǒng),其不允許用戶像之前 Ext4 文件系統(tǒng)那樣支持可讀寫(xiě),這樣設(shè)備本身更安全,但可玩性會(huì)相對(duì)更低。

根據(jù)華為官方公布的日程,方舟編譯器將于 2019 年 8 月的華為終端開(kāi)發(fā)者大會(huì)上開(kāi)源編譯框架代碼,并于 2019 年 11 月的綠盟開(kāi)發(fā)者大會(huì)上公布完整的方舟編譯器代碼。

在小雷個(gè)人看來(lái),方舟編譯器是華為在解決安卓應(yīng)用編譯方面提供的一種全新的思路,理論上看是不錯(cuò)的方案,但就目前而言還無(wú)法驗(yàn)證得出 P30 系列是否在長(zhǎng)時(shí)間使用后依然流暢的結(jié)論。

另一方面,方舟編譯器能否真正得到大規(guī)模推廣普及,目前也還很難說(shuō)。畢竟每個(gè)應(yīng)用開(kāi)發(fā)商和手機(jī)廠商都有自己的考慮。不過(guò)可以確定的是,華為和榮耀未來(lái)的新機(jī)將很有技能會(huì)繼續(xù)采用這個(gè)工具,我們不妨期待一下。

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

    關(guān)注

    215

    文章

    34164

    瀏覽量

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

    關(guān)注

    5

    文章

    2108

    瀏覽量

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

    關(guān)注

    0

    文章

    60

    瀏覽量

    175

原文標(biāo)題:「熱門(mén)」華為展示方舟編譯器,要讓安卓徹底改頭換面?

文章出處:【微信號(hào):zealertech,微信公眾號(hào):ZEALER】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    AI編譯器技術(shù)剖析

    隨著人工智能技術(shù)的飛速發(fā)展,AI編譯器作為一種新興的編譯技術(shù)逐漸進(jìn)入人們的視野。AI編譯器不僅具備傳統(tǒng)編譯器的功能,如將高級(jí)語(yǔ)言編寫(xiě)的源代碼轉(zhuǎn)換為機(jī)器可執(zhí)行的代碼,還融入了人工智能技術(shù)
    的頭像 發(fā)表于 07-17 18:28 ?1244次閱讀

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

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

    Meta發(fā)布基于Code Llama的LLM編譯器

    近日,科技巨頭Meta在其X平臺(tái)上正式宣布推出了一款革命性的LLM編譯器,這一模型家族基于Meta Code Llama構(gòu)建,并融合了先進(jìn)的代碼優(yōu)化和編譯器功能。LLM編譯器的推出,標(biāo)志著Meta在人工智能領(lǐng)域的又一重大突破,將
    的頭像 發(fā)表于 06-29 17:54 ?1325次閱讀

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

    SEGGER編譯器是專(zhuān)門(mén)為ARM和RISC-V微控制設(shè)計(jì)的優(yōu)化C/C++編譯器。它建立在強(qiáng)大的Clang前端上,支持最新的C和C++語(yǔ)言功能。 除其他外,其主要功能包括: 1)?尺寸優(yōu)化:通過(guò)調(diào)整
    的頭像 發(fā)表于 06-04 15:31 ?1191次閱讀
    SEGGER<b class='flag-5'>編譯器</b>優(yōu)化和安全技術(shù)介紹 支持最新C和C++語(yǔ)言

    C語(yǔ)言:嵌入式開(kāi)發(fā)中的關(guān)鍵編譯器角色

    嵌入式程序開(kāi)發(fā)跟硬件密切相關(guān),需要使用C語(yǔ)言來(lái)讀寫(xiě)底層寄存、存取數(shù)據(jù)、控制硬件等,C語(yǔ)言和硬件之間由編譯器來(lái)聯(lián)系,一些C標(biāo)準(zhǔn)不支持的硬件特性操作,由編譯器提供。
    發(fā)表于 04-26 14:53 ?429次閱讀
    C語(yǔ)言:嵌入式開(kāi)發(fā)中的關(guān)鍵<b class='flag-5'>編譯器</b>角色

    QT開(kāi)發(fā)學(xué)習(xí)筆記1(安裝交叉編譯器

    QT安裝交叉編譯器
    的頭像 發(fā)表于 02-18 10:02 ?715次閱讀
    QT開(kāi)發(fā)學(xué)習(xí)筆記1(安裝交叉<b class='flag-5'>編譯器</b>)

    華為鴻蒙系統(tǒng)怎么樣 華為鴻蒙系統(tǒng)和系統(tǒng)的區(qū)別

    和穩(wěn)定性。與此同時(shí),鴻蒙系統(tǒng)與系統(tǒng)在架構(gòu)、功能和生態(tài)系統(tǒng)方面都存在一些區(qū)別和特點(diǎn),下面將詳細(xì)探討這些方面的差異。 首先,華為鴻蒙系統(tǒng)在架構(gòu)上與
    的頭像 發(fā)表于 02-02 14:54 ?1385次閱讀

    華為舉辦鴻蒙生態(tài)千帆啟航儀式,余承東公布HarmonyOS NEXT開(kāi)放申請(qǐng)

    據(jù)余承東介紹,為實(shí)現(xiàn)核心競(jìng)爭(zhēng)力的突破,華為通過(guò)多年的努力構(gòu)建出一套包含鴻蒙內(nèi)核、ArkTS/倉(cāng)頡編程語(yǔ)言、方舟編譯器/畢昇編譯器、ArkUI以及盤(pán)古AI大模型等在內(nèi)的完整生態(tài)體系。
    的頭像 發(fā)表于 01-19 09:34 ?687次閱讀

    Triton編譯器的原理和性能

    Triton是一種用于編寫(xiě)高效自定義深度學(xué)習(xí)原語(yǔ)的語(yǔ)言和編譯器。Triton的目的是提供一個(gè)開(kāi)源環(huán)境,以比CUDA更高的生產(chǎn)力編寫(xiě)快速代碼,但也比其他現(xiàn)有DSL具有更大的靈活性。Triton已被采用
    的頭像 發(fā)表于 12-16 11:22 ?2303次閱讀
    Triton<b class='flag-5'>編譯器</b>的原理和性能

    TVM編譯器的整體架構(gòu)和基本方法

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

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

    一個(gè)程序首先要保證正確性,在保證正確性的基礎(chǔ)上,性能也是一個(gè)重要的考量。要編寫(xiě)高性能的程序,第一,必須選擇合適的算法和數(shù)據(jù)結(jié)構(gòu);第二,應(yīng)該編寫(xiě)編譯器能夠有效優(yōu)化以轉(zhuǎn)換成高效可執(zhí)行代碼的源代碼,要做到
    的頭像 發(fā)表于 11-24 15:37 ?767次閱讀
    <b class='flag-5'>編譯器</b>的優(yōu)化選項(xiàng)

    嵌入式j(luò)avascript編譯器的設(shè)計(jì)與實(shí)現(xiàn)

    電子發(fā)燒友網(wǎng)站提供《嵌入式j(luò)avascript編譯器的設(shè)計(jì)與實(shí)現(xiàn).pdf》資料免費(fèi)下載
    發(fā)表于 10-30 11:29 ?0次下載
    嵌入式j(luò)avascript<b class='flag-5'>編譯器</b>的設(shè)計(jì)與實(shí)現(xiàn)

    新版編譯器的設(shè)計(jì)思路和優(yōu)化方法

    小程序編譯器在小程序開(kāi)發(fā)、預(yù)覽、發(fā)布各個(gè)階段都需要使用,因此編譯器性能會(huì)直接影響到開(kāi)發(fā)者開(kāi)發(fā)效率,也會(huì)影響到開(kāi)發(fā)者工具的使用體驗(yàn)。 由于舊版的編譯器(基于 webpack4)在構(gòu)建大型項(xiàng)目時(shí)會(huì)很慢,內(nèi)存占用也高,一直被開(kāi)發(fā)者吐槽
    發(fā)表于 10-13 11:21 ?264次閱讀
    新版<b class='flag-5'>編譯器</b>的設(shè)計(jì)思路和優(yōu)化方法

    嵌入式開(kāi)發(fā)中的C語(yǔ)言編譯器設(shè)置

    編譯器的語(yǔ)義檢查很弱小,甚至還會(huì)“掩蓋”錯(cuò)誤。現(xiàn)代的編譯器設(shè)計(jì)是件浩瀚的工程,為了讓編譯器設(shè)計(jì)簡(jiǎn)單一些,目前幾乎所有編譯器的語(yǔ)義檢查都比較弱小。為了獲得更快的執(zhí)行效率,C語(yǔ)言被設(shè)計(jì)的足
    發(fā)表于 10-11 12:43 ?584次閱讀

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

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