色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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。能實(shí)現(xiàn)模塊化解耦,對應(yīng)不同設(shè)備(智慧屏、穿戴設(shè)備、車機(jī)、智能音箱手機(jī))可彈性部署。華為消費(fèi)者業(yè)務(wù) CEO 余承東描述了華為鴻蒙 OS 的方方面面。

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

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

01 編譯器是什么?

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

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

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

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

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

Java的虛擬機(jī)的故事

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

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

但是每次啟動APP都要重新編譯一次,加上Dalvik虛擬機(jī)性能比較落后,所以谷歌在Android 5.0版本將虛擬機(jī)從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正常運(yùn)行,它倆之間需要互通的接口——JNI。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

3.APP運(yùn)行速度更快

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

5.省電

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

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

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

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

2016年,成立編譯器與編程語言實(shí)驗(yàn)室。2019年,華為方舟編譯器正式面世!

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

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

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

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

總結(jié):

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

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

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

    關(guān)注

    216

    文章

    34530

    瀏覽量

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

    關(guān)注

    1

    文章

    1642

    瀏覽量

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

    關(guān)注

    5

    文章

    2136

    瀏覽量

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

    關(guān)注

    183

    文章

    2638

    瀏覽量

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

    關(guān)注

    0

    文章

    60

    瀏覽量

    230
收藏 人收藏

    評論

    相關(guān)推薦

    什么樣的代碼會被編譯器優(yōu)化

    現(xiàn)在的編譯器有多智能,可能你辛辛苦苦寫的代碼,在編譯器看來就是幾句廢話,直接被刪除掉。
    的頭像 發(fā)表于 01-16 16:38 ?154次閱讀

    Triton編譯器與GPU編程的結(jié)合應(yīng)用

    Triton編譯器簡介 Triton編譯器是一種針對并行計算優(yōu)化的編譯器,它能夠自動將高級語言代碼轉(zhuǎn)換為針對特定硬件優(yōu)化的低級代碼。Triton編譯器的核心優(yōu)勢在于其能夠識別并行模式,
    的頭像 發(fā)表于 12-25 09:13 ?295次閱讀

    Triton編譯器如何提升編程效率

    在現(xiàn)代軟件開發(fā)中,編譯器扮演著至關(guān)重要的角色。它們不僅將高級語言代碼轉(zhuǎn)換為機(jī)器可執(zhí)行的代碼,還通過各種優(yōu)化技術(shù)提升程序的性能。Triton 編譯器作為一種先進(jìn)的編譯器,通過多種方式提升編程效率,使得
    的頭像 發(fā)表于 12-25 09:12 ?301次閱讀

    Triton編譯器在高性能計算中的應(yīng)用

    高性能計算(High-Performance Computing,HPC)是現(xiàn)代科學(xué)研究和工程計算中不可或缺的一部分。隨著計算需求的不斷增長,對計算資源的要求也越來越高。Triton編譯器作為一種
    的頭像 發(fā)表于 12-25 09:11 ?316次閱讀

    Triton編譯器的優(yōu)化技巧

    在現(xiàn)代計算環(huán)境中,編譯器的性能對于軟件的運(yùn)行效率至關(guān)重要。Triton 編譯器作為一個先進(jìn)的編譯器框架,提供了一系列的優(yōu)化技術(shù),以確保生成的代碼既高效又適應(yīng)不同的硬件架構(gòu)。 1. 指令選擇
    的頭像 發(fā)表于 12-25 09:09 ?317次閱讀

    Triton編譯器的優(yōu)勢與劣勢分析

    Triton編譯器作為一種新興的深度學(xué)習(xí)編譯器,具有一系列顯著的優(yōu)勢,同時也存在一些潛在的劣勢。以下是對Triton編譯器優(yōu)勢與劣勢的分析: 優(yōu)勢 高效性能優(yōu)化 : Triton編譯器
    的頭像 發(fā)表于 12-25 09:07 ?341次閱讀

    Triton編譯器在機(jī)器學(xué)習(xí)中的應(yīng)用

    1. Triton編譯器概述 Triton編譯器是NVIDIA Triton推理服務(wù)平臺的一部分,它負(fù)責(zé)將深度學(xué)習(xí)模型轉(zhuǎn)換為優(yōu)化的格式,以便在NVIDIA GPU上高效運(yùn)行。Triton編譯器支持
    的頭像 發(fā)表于 12-24 18:13 ?489次閱讀

    Triton編譯器支持的編程語言

    Triton編譯器支持的編程語言主要包括以下幾種: 一、主要編程語言 Python :Triton編譯器通過Python接口提供了對Triton語言和編譯器的訪問,使得用戶可以在Python環(huán)境中
    的頭像 發(fā)表于 12-24 17:33 ?427次閱讀

    Triton編譯器與其他編譯器的比較

    Triton編譯器與其他編譯器的比較主要體現(xiàn)在以下幾個方面: 一、定位與目標(biāo) Triton編譯器 : 定位:專注于深度學(xué)習(xí)中最核心、最耗時的張量運(yùn)算的優(yōu)化。 目標(biāo):提供一個高度抽象、靈活、高效
    的頭像 發(fā)表于 12-24 17:25 ?453次閱讀

    Triton編譯器功能介紹 Triton編譯器使用教程

    Triton 是一個開源的編譯器前端,它支持多種編程語言,包括 C、C++、Fortran 和 Ada。Triton 旨在提供一個可擴(kuò)展和可定制的編譯器框架,允許開發(fā)者添加新的編程語言特性和優(yōu)化技術(shù)
    的頭像 發(fā)表于 12-24 17:23 ?562次閱讀

    分享關(guān)于編譯器的科普

    源代碼分析工具和IDE集成。GCC被構(gòu)建成一個單一的靜態(tài)編譯器,這使得它非常難以被作為API并集成到其他工具中。 GCCClang支
    的頭像 發(fā)表于 12-09 09:49 ?155次閱讀

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

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

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

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

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

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

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

    QT安裝交叉編譯器
    的頭像 發(fā)表于 02-18 10:02 ?1103次閱讀
    QT開發(fā)學(xué)習(xí)筆記1(安裝交叉<b class='flag-5'>編譯器</b>)
    主站蜘蛛池模板: 日本一二三区视频在线 | 黑人特黄AA完整性大片 | 手机移动oa| 日本不卡三卡四卡 | 高h辣h双处全是肉一对一 | 乌克兰黄色录像 | 成年黄网站免费大全毛片 | AV福利无码亚洲网站麻豆 | 老司机福利视频一区在线播放 | 美女被撕开胸罩狂揉大乳 | 九色PORNY蝌蚪视频首页 | 国内精品自产拍在线少密芽 | 色一情一乱一伦一区二区三区 | 美女禁处受辱漫画 | 久久久久毛片免费观看 | 免费的好黄的漫画 | 国产熟妇无码一区二 | 久草在线新是免费视频 | 久久久免费热线精品频 | 亚洲 欧美 国产 伦 综合 | md2.pud 麻豆传媒官网 | 92精品国产成人观看免费 | 快播电影官方网站 | 99爱视频在线观看 | 香蕉eeww99国产精选播放 | www色视频在线观看 WWW色视频片内射 | 夫妻主vk| 鬼灭之刃花街篇免费樱花动漫 | free乌克兰性xxxxhd | 国产一卡2卡3卡4卡孕妇网站 | 大胸女晃奶动态图 | 国产精品久久久久久52AVAV | 色爱区综合激情五月综合激情 | 狠狠久久免费视频在线 | 国产精品久久久久无码AV色戒 | 女人精69xxxxx | 亚洲国产精品VA在线看黑人 | 嗯啊哈啊好棒用力插啊 | 男男高H啪肉Np文多攻多一受 | 69精品人妻一区二区三区蜜桃 | 免费看男人J放进女人J无遮掩 |