首 頁(yè)
手機(jī)版

華為方舟編譯器 v0.2官方版

基于GCC開(kāi)發(fā)的交叉編譯器套件

  • 軟件大小:8.81M
  • 軟件語(yǔ)言:簡(jiǎn)體中文
  • 軟件類(lèi)型:國(guó)產(chǎn)軟件
  • 軟件授權(quán):免費(fèi)軟件
  • 更新時(shí)間:2024/04/07
  • 軟件類(lèi)別:編程軟件
  • 應(yīng)用平臺(tái):Windows11,Windows10,Windows8,Windows7
網(wǎng)友評(píng)分:8.0分
網(wǎng)友評(píng)論 下載地址 收藏該頁(yè)
本地下載

方舟編譯器官方是華為公司自行研發(fā)的業(yè)界首個(gè)多語(yǔ)言聯(lián)合優(yōu)化編譯器,是為支持多種編程語(yǔ)言、多種芯片平臺(tái)的聯(lián)合編譯、運(yùn)行而設(shè)計(jì)的統(tǒng)一編程平臺(tái),包含編譯器、工具鏈、運(yùn)行時(shí)等關(guān)鍵部件,通過(guò)多語(yǔ)言統(tǒng)一IR表示,可實(shí)現(xiàn)應(yīng)用中多種編程語(yǔ)言聯(lián)合編譯優(yōu)化提升性能;在支持多平臺(tái)的同時(shí),根據(jù)設(shè)備特征提供便捷的開(kāi)發(fā)與部署策略提升效率。經(jīng)過(guò)測(cè)試,華為方舟編譯器能夠?qū)⑾到y(tǒng)操作流暢度提升24%、系統(tǒng)響應(yīng)力提升44%、第三方應(yīng)用操作流暢度提升60%,另一方面,方舟編譯器用空間換性能,直接將編譯器的代碼優(yōu)化搬到了開(kāi)發(fā)者環(huán)境,不再被手機(jī)端的硬件資源所限制,為代碼優(yōu)化提供了無(wú)限可能。

目前官方正式發(fā)布了華為方舟編譯器,并且支持開(kāi)源,開(kāi)源的是編譯器框架部分源碼,包括編譯器中間表示(IR)和語(yǔ)言編譯實(shí)現(xiàn),同時(shí)搭配編譯器其他二進(jìn)制組件,實(shí)現(xiàn)Java程序到aarch64匯編指令的編譯過(guò)程。開(kāi)發(fā)者可基于開(kāi)源代碼+二進(jìn)制,編譯構(gòu)建出編譯器工具鏈,嘗試對(duì)Java程序進(jìn)行編譯。

ps:本次小編為廣大用戶(hù)帶來(lái)了方舟編譯器下載,包括了源代碼包和二進(jìn)制包兩個(gè)版本,但如果需要使用,還需要自行下載GCC 7.3.0、Binutils 2.31.1、Glibc 2.29、Mpc 1.1.0、GNU MPFR 4.0.2、isl 0.21等開(kāi)源包,軟件包中已經(jīng)附帶了地址,送給有需要的朋友免費(fèi)下載收藏。

基本介紹

方舟編譯器是基于GCC開(kāi)發(fā)的交叉編譯器套件,它包括了C、C++、Fortran的前端,也包括了這些語(yǔ)言的庫(kù)(如libstdc++、libgcc等)。HCC運(yùn)行在X86 linux架構(gòu)服務(wù)器上,生成的二進(jìn)制運(yùn)行在Aarch64架構(gòu)服務(wù)器上。

方舟編譯器框架代碼可完成Java靜態(tài)編譯,包括類(lèi)層次關(guān)系分析、虛方法表和接口表的生成、native函數(shù)的處理等,以及基于引用計(jì)數(shù)的內(nèi)存管理方式,提供RC插入功能。

方舟編譯器作為全新的系統(tǒng)及應(yīng)用的編譯和運(yùn)行機(jī)制,從DNA層面對(duì)安卓進(jìn)行了改造,解決了安卓應(yīng)用邊解釋邊運(yùn)行的低效問(wèn)題,讓手機(jī)能直接聽(tīng)懂“高級(jí)語(yǔ)言”,可以說(shuō)是近幾年來(lái)安卓陣營(yíng)最大的根本性革新。它大幅降低了安卓系統(tǒng)隨機(jī)卡頓的問(wèn)題,打破了人機(jī)之間的藩籬,讓用戶(hù)能直觀感受到的就是使用體驗(yàn)更加持久流暢。

軟件特色

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

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

2、輕量運(yùn)行時(shí)

通過(guò)編譯器的語(yǔ)言實(shí)現(xiàn)能力和優(yōu)化能力增強(qiáng),應(yīng)用運(yùn)行時(shí)的開(kāi)銷(xiāo)更小。

3、軟硬件協(xié)同

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

4、多平臺(tái)支持

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

軟件亮點(diǎn)

1、開(kāi)發(fā)階段打包的APK就直接是可執(zhí)行,并且跨語(yǔ)言平臺(tái)。

2、方舟編譯器邊運(yùn)行變清理,內(nèi)存清爽。

3、方舟編譯器,應(yīng)用級(jí)編譯優(yōu)化。

軟件功能

一、開(kāi)發(fā)階段打包的APK就直接是可執(zhí)行,并且跨語(yǔ)言平臺(tái)

在方舟編譯器里面,已經(jīng)編譯好的APK,會(huì)通過(guò)靜態(tài)編譯的方式先轉(zhuǎn)換成機(jī)器碼再安裝,這其實(shí)是AOT,無(wú)需麻煩的虛擬機(jī),提升運(yùn)行速度和效率。并且作為開(kāi)發(fā)者,還可以根據(jù)不同的程序特點(diǎn),選擇不同的編譯優(yōu)化方案,不像安卓官方的方式使用統(tǒng)一的虛擬機(jī)方案。

二、方舟編譯器邊運(yùn)行變清理,內(nèi)存清爽

現(xiàn)在安卓手機(jī)的一大特色就是內(nèi)存越來(lái)越大,6GB都是老人機(jī)的配置了。這除了程序大以外還有安卓的程序運(yùn)行產(chǎn)生垃圾多有關(guān)系。那么清理垃圾呢?則需要暫停程序,也就會(huì)頓一下,即所謂的“卡”。華為方舟編譯器則是利用程序多線(xiàn)程運(yùn)行的特點(diǎn)。打個(gè)比方,您現(xiàn)在正在用的“中關(guān)村在線(xiàn)”這個(gè)APP用了AB兩個(gè)線(xiàn)程,在華為的P30手機(jī)中,那么線(xiàn)程A運(yùn)行的時(shí)候,B在清理垃圾,然后A線(xiàn)程清理垃圾的時(shí)候B線(xiàn)程在運(yùn)行,程序運(yùn)行不中斷,垃圾處理不停,做到了又連貫、又節(jié)約系統(tǒng)資源。

三、方舟編譯器,應(yīng)用級(jí)編譯優(yōu)化

代碼優(yōu)化是編譯器最為核心的功能,也是評(píng)判一個(gè)編譯器優(yōu)劣最重要的標(biāo)準(zhǔn)。

當(dāng)前由于安卓應(yīng)用使用了虛擬機(jī)機(jī)制,難以面向不同應(yīng)用對(duì)虛擬機(jī)進(jìn)行針對(duì)性的靈活優(yōu)化。

安卓ART的AoT和JIT動(dòng)態(tài)編譯因?yàn)槭沁\(yùn)行在手機(jī)上,受資源所限,因而只能使用簡(jiǎn)單的優(yōu)化算法。

而方舟編譯器由于是在應(yīng)用開(kāi)發(fā)階段進(jìn)行編譯,所以可以允許不同應(yīng)用靈活采用不同的編譯優(yōu)化方案,而且因?yàn)樵陂_(kāi)發(fā)環(huán)境編譯不會(huì)受到手機(jī)性能的限制,可以使用更多先進(jìn)的優(yōu)化算法,從而使得每個(gè)應(yīng)用的性能達(dá)到最佳。

常見(jiàn)問(wèn)題

1、方舟編譯器是一次性全部代碼嗎?

首次開(kāi)源范圍是編譯器 IR( Intermediate Representation)、RC(Reference Counting)和多語(yǔ)言設(shè)計(jì)思想等,用于與業(yè)界、學(xué)術(shù)界溝通交流。后續(xù)將陸續(xù)開(kāi)源編譯器前端、后端,支持其它語(yǔ)言(如 JavaScript)的編譯等,當(dāng)前部分Java語(yǔ)言特性和JVM虛擬機(jī)特性的支持未包括在本次開(kāi)源代碼中,包括:annotation、lambda表達(dá)式、泛型等。目前仍有很多地方不完善,會(huì)在社區(qū)陸續(xù)迭代,遇到問(wèn)題請(qǐng)?jiān)谏鐓^(qū)提交 issue,歡迎在社區(qū)繼續(xù)討論設(shè)計(jì)和代碼共建。

2、方舟編譯器開(kāi)源路標(biāo)是怎樣的?

方舟編譯器從 2019 年 8 月開(kāi)始開(kāi)源,歡迎廣大的應(yīng)用開(kāi)發(fā)者、手機(jī)廠(chǎng)商、軟件從業(yè)人員一起共建開(kāi)源社區(qū)和生態(tài)。 開(kāi)源計(jì)劃大體上這樣安排:2019 年 8 月重點(diǎn)開(kāi)源框架部分;后續(xù)將陸續(xù)開(kāi)源編譯器前端、后端;支持 Java 程序編譯、JavaScript 語(yǔ)言應(yīng)用的編譯等。

3、方舟編譯開(kāi)源面向全球開(kāi)發(fā)者嗎?英文網(wǎng)站何時(shí)上線(xiàn)?

方舟編譯器是向全球開(kāi)發(fā)者進(jìn)行開(kāi)源,因此,官方網(wǎng)站和代碼托管平臺(tái)均面向全球開(kāi)發(fā)者開(kāi)放。目前英文版網(wǎng)站正在緊張的開(kāi)發(fā)及內(nèi)測(cè),計(jì)劃將于 2019 年 Q4 上線(xiàn)。

4、方舟編譯器源碼托管計(jì)劃是怎么的?

孵化委員會(huì)期間,方舟編譯器代碼是托管在華為云上面。在未來(lái)走向開(kāi)放治理以后,將由所掛靠機(jī)構(gòu)選擇的平臺(tái)進(jìn)行托管。如果掛靠的機(jī)構(gòu)采取了 X 平臺(tái),我們就采用這個(gè)機(jī)構(gòu)的代碼托管模式進(jìn)行托管。

當(dāng)前代碼托管的地址:https://code.opensource.huaweicloud.com/HarmonyOS/OpenArkCompiler

5、方舟編譯器開(kāi)源使用的是什么License?

方舟編譯器采用木蘭 License。 木蘭 License 由業(yè)界眾多專(zhuān)家和公司集體共建,并非華為主導(dǎo)。

6、如何確認(rèn)下載包來(lái)源可靠?MD5校驗(yàn)碼是多少?

OpenArkCompiler-0.2-ubuntu-16.04-x86_64.tar.gz 包的 MD5碼是: e7dc8b8c242f2d26429e2ad71dae3112

OpenArkCompiler-0.2.tar.gz 包的MD5碼是:

1bf859a67c8b9a2d4080bdaf25ef6181

收起介紹展開(kāi)介紹
  • 下載地址
華為方舟編譯器 v0.2官方版

有問(wèn)題? 點(diǎn)此報(bào)錯(cuò)

發(fā)表評(píng)論

0條評(píng)論

熱門(mén)推薦