乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      安卓革命!華為方舟編譯器揭秘:已有45款應(yīng)用 流暢度提升60%

       為云白頭 2019-08-31

      據(jù)華為官方消息,華為方舟編譯器開源官網(wǎng)已經(jīng)在今天正式上線(https://www.),目前源代碼已經(jīng)提供下載,相關(guān)文檔、演示等資料也一應(yīng)俱全。

      官網(wǎng)介紹,方舟編譯器是為支持多種編程語言、多種芯片平臺的聯(lián)合編譯、運行而設(shè)計的統(tǒng)一編程平臺,包含編譯器、工具鏈、運行時等關(guān)鍵部件。

      目前,方舟編譯器還在持續(xù)演進中,陸續(xù)將上述能力實現(xiàn)和開源。

      據(jù)悉,本次方舟編譯器開源的是編譯器框架部分源碼,包括編譯器中間表示(IR)和語言編譯實現(xiàn),同時搭配編譯器其他二進制組件,實現(xiàn)Java程序到aarch64匯編指令的編譯過程。

      開發(fā)者可以獲得相關(guān)代碼和文檔,供參考學(xué)習(xí)、了解方舟編譯器的架構(gòu)和代碼。

      華為表示,在開源的世界里,我們與開發(fā)者們分享技術(shù)進步,共同成長,期待能夠與廣大開發(fā)者們同“舟”共濟,為科技創(chuàng)新蓄力,不斷推進產(chǎn)業(yè)開放式創(chuàng)新、構(gòu)建開放生態(tài)。

      據(jù)了解,華為方舟編譯器提供了全新的系統(tǒng)及應(yīng)用的編譯和運行機制,從動態(tài)編譯變?yōu)殪o態(tài)編譯,就是直接將高級語言直接編譯成機器碼,徹底消除了虛擬機動態(tài)編譯的額外開銷,實現(xiàn)了開發(fā)和運行效率的兼容并舉。

      根據(jù)華為實驗室的測試數(shù)據(jù),EMUI 9.1在僅僅對系統(tǒng)組件System Server應(yīng)用了華為方舟編譯器后,就帶來了系統(tǒng)操作流暢度提升24%,系統(tǒng)響應(yīng)性能提升44%的收益。

      此外,方舟編譯器編譯的應(yīng)用在開發(fā)階段就已完成。只要是經(jīng)過編譯器編譯的應(yīng)用,在應(yīng)用市場上上架了以后,用戶下載的就是編譯過的了。以新浪微博極速版為例,在應(yīng)用方舟編譯器之后,根據(jù)華為實驗室測試數(shù)據(jù)顯示,操作流暢度提升高達60%。

      【方舟編譯器的優(yōu)勢】

      按照華為的介紹,方舟編譯器是為支持多種編程語言、多種芯片平臺的聯(lián)合編譯、運行而設(shè)計的統(tǒng)一編程平臺,包含編譯器、工具鏈、運行時等關(guān)鍵部件,目前還在持續(xù)演進中,上述能力將陸續(xù)實現(xiàn)和開源。

      通過多語言統(tǒng)一IR表示,方舟編譯器可實現(xiàn)應(yīng)用中多種編程語言聯(lián)合編譯優(yōu)化提升性能,而且在支持多平臺的同時,根據(jù)設(shè)備特征提供便捷的開發(fā)與部署策略提升效率。

      華為方舟編譯器提供了全新的系統(tǒng)及應(yīng)用的編譯和運行機制,從動態(tài)編譯變?yōu)殪o態(tài)編譯,就是直接將高級語言直接編譯成機器碼,徹底消除了虛擬機動態(tài)編譯的額外開銷,實現(xiàn)了開發(fā)和運行效率的兼容并舉。

      1、多語言聯(lián)合

      將同一應(yīng)用中的不同語言代碼聯(lián)合編譯、聯(lián)合優(yōu)化,消除語言間的性能“鴻溝”,降低開發(fā)者的優(yōu)化成本

      2、輕量運行時

      通過編譯器的語言實現(xiàn)能力和優(yōu)化能力增強,應(yīng)用運行時的開銷更小

      3、軟硬件協(xié)同

      編譯器與芯片實現(xiàn)軟硬件協(xié)同優(yōu)化,充分發(fā)揮硬件能效,應(yīng)用體驗更佳

      4、多平臺支持

      支持面向多樣化的終端設(shè)備平臺進行編譯和運行,根據(jù)設(shè)備特征提供便捷的開發(fā)與部署策略,提高開發(fā)效率 

      【方舟編譯器的架構(gòu)設(shè)計】

      當(dāng)前方舟編譯器支持Java/Kotlin程序字節(jié)碼的前端輸入,C/C++/JS等其它編程語言的支持還在規(guī)劃中。

      方舟編譯器的中間表示(IR)轉(zhuǎn)換器將前端輸入轉(zhuǎn)換成方舟IR,并輸送給后端的優(yōu)化器,最終生成二進制文件,二進制文件與編譯器運行時庫文件鏈接生成可執(zhí)行文件,在方舟的運行環(huán)境中就可執(zhí)行該文件。

      方舟編譯器IR是支持程序編譯和運行的中間程序表示。程序源代碼中的任何信息對于程序分析和優(yōu)化都是有幫助的,所以方舟IR的目標是盡可能完整詳細地提供源程序的信息。

      【方舟編譯器的環(huán)境配置】

      - 硬件配置推薦

      方舟編譯器的硬件配置需求不高,最低只需2GHz雙核心處理器、2GB內(nèi)存、200GB硬盤空間,當(dāng)然要獲得最高效率,更高配置是強烈推薦的。

      - 開發(fā)環(huán)境推薦

      需要64位版本的Linux,尤其推薦Ubuntu 16.04

      sudo apt-get -y install openjdk-8-jdk git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip lib32z1-dev qemu g++-multilib gcc-multilib python3-paramiko python-paramiko python-jenkins python-requests python-xlwt libglib2.0-dev libpixman-1-dev linux-libc-dev:i386

      sudo apt-get -y install gcc-5-aarch64-linux-gnu g++-5-aarch64-linux-gnu

      - Clang編譯器

      主要用于編譯方舟編譯器代碼。

      下載clang+llvm-8.0.0-x86_64-linux-gnu-ubuntu-16.04,地址:

      http://releases./download.html#8.0.0

      放置到openarkcompiler/tools目錄,打開openarkcompiler/build/config/BUILDCONFIG.gn文件,將GN_C_COMPILER、GN_CXX_COMPILER和GN_AR三個變量配置為Clang編譯器所在路徑。例如:

      GN_C_COMPILER = '${MAPLE_ROOT}/tools/clang_llvm-8.0.0-x86_64-linux-gnu-ubuntu-16.04/bin/clang'

      GN_CXX_COMPILER = '${MAPLE_ROOT}/tools/clang_llvm-8.0.0-x86_64-linux-gnu-ubuntu-16.04/bin/clang++'

      GN_AR = '${MAPLE_ROOT}/tools/clang_llvm-8.0.0-x86_64-linux-gnu-ubuntu-16.04/bin/llvm-ar'

      其中${MAPLE_ROOT}為openarkcompiler源碼根目錄。

      安裝Ninja、GN并完成配置

      - Ninja、GN

      下載Ninja(v1.9.0)及GN(Linux Version) Ninja,地址:

      https://github.com/ninja-build/ninja/releases

      GN下載地址:

      https://archive./browse/content/sha1_git:2dc0d5b26caef44f467de8120b26f8aad8b878be/raw/?filename=gn

      將GN和Ninja可執(zhí)行程序放置到openarkcompiler/tools目錄,打開openarkcompiler/Makefile文件,將GN和NINJA兩個變量配置為GN和Ninja可執(zhí)行程序所在路徑。例如:

      GN := ${MAPLE_ROOT}/tools/gn/gn

      NINJA := ${MAPLE_ROOT}/tools/ninja_1.9.0/ninja

      【方舟編譯器FAQ】

      Q1:方舟編譯器開源有官方網(wǎng)站嗎?

      A1:

      孵化期間,官方網(wǎng)站為https://www.。正式畢業(yè)后的官網(wǎng)待定。

      Q2:方舟編譯器是一次性全部代碼嗎?

      A2:

      首次開源范圍是編譯器IR(Intermediate Representation)、RC(Reference Counting)和多語言設(shè)計思想等,用于與業(yè)界、學(xué)術(shù)界溝通交流。后續(xù)將陸續(xù)開源編譯器前端、后端,支持其它語言(比如JavaScript)的編譯等。

      當(dāng)前部分Java語言特性和JVM虛擬機特性的支持未包括在本次開源代碼中,包括annotation、lambda表達式、泛型等。

      目前仍有很多地方不完善,會在社區(qū)陸續(xù)迭代,遇到問題請在社區(qū)提交issue。 

      Q3:通過哪些渠道可以獲取方舟編譯器的框架源碼?

      A3:

      孵化期間,開發(fā)者可以通過如下代碼托管網(wǎng)址獲得相關(guān)代碼和文檔,供參考學(xué)習(xí)、了解方舟編譯器的架構(gòu)和代碼。

      華為云托管地址:

      https://code.opensource./HarmonyOS/OpenArkCompiler

      開源中國碼云托管地址:

      https:///harmonyos/OpenArkCompiler

      Q4:方舟編譯器開源路標是怎樣的?

      A4:

      方舟編譯器從2019年8月開始開源,歡迎廣大的應(yīng)用開發(fā)者、手機廠商、軟件從業(yè)人員一起共建開源社區(qū)和生態(tài)。

      開源計劃大體上這樣安排:2019年8月重點開源框架部分;后續(xù)將陸續(xù)開源編譯器前端、后端;支持Jav 程序編譯、JavaScript語言應(yīng)用的編譯等。

      Q5:還有哪些方式可以獲取方舟編譯器的相關(guān)信息?

      A5:

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多