最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

FFmpeg、OpenJDK17 龍芯 LoongArch 版本

2022-01-27 18:23 作者:gueenet  | 我要投稿

  10天前,F(xiàn)Fmpeg官網(wǎng)發(fā)布了FFmpeg5.0版,該版本除了增加了大量新功能外,還原生支持龍芯的LoongArch指令集。

  今天,龍芯開源社區(qū)又發(fā)布了基于OpenJDK17的龍芯平臺(tái)Java環(huán)境。

  FFmpeg是被影音類軟件大量使用的一個(gè)開源庫,主要功能是編碼、解碼各種音頻視頻文件。幾乎可以編碼和解碼所有的音視頻格式、支持大量“濾鏡”效果、支持硬件編碼解碼。市面上大多數(shù)的影音編輯類、影音播放類軟件都以它為基礎(chǔ)來實(shí)現(xiàn)更加豐富的功能。


  以前龍芯的電腦上使用的FFmpeg是龍芯自己維護(hù)的分支,現(xiàn)在龍芯的LoongArch架構(gòu)已經(jīng)進(jìn)入FFmpeg主線支持。像對(duì)x86、arm的支持一樣,今后FFmpeg添加任何新功能、新特性也都會(huì)第一時(shí)間支持LoongArch。

  FFmpeg在x86、arm架構(gòu)的CPU上運(yùn)行效率很高,因?yàn)榇a中存在大量的針對(duì)x86、arm優(yōu)化的匯編代碼。在其它架構(gòu)的CPU上,則主要使用c/c++的代碼來替代這些更加優(yōu)化的匯編代碼,因此即使CPU性能相當(dāng),實(shí)際運(yùn)行效率也會(huì)低很多。龍芯之前對(duì)自己維護(hù)的分支也添加了不少匯編代碼優(yōu)化,但總體上沒有達(dá)到x86、arm的程度。在LoongArch進(jìn)入FFmpeg主線之后,相信會(huì)有更多的開發(fā)者對(duì)其進(jìn)行完善,使代碼優(yōu)化水平逐漸達(dá)到與x86、arm相當(dāng)?shù)某潭取?/p>

  Java是一種開發(fā)語言,也是一種程序運(yùn)行環(huán)境。任何平臺(tái)只要擁有符合規(guī)范的Java虛擬機(jī)軟件,就可以運(yùn)行使用Java語言開發(fā)的應(yīng)用程序。Java程序跨平臺(tái)運(yùn)行時(shí),不需要像C/C++這樣的語言那樣必須重新編譯,也比解釋型的腳本語言具有更高的運(yùn)行效率。OpenJDK就是Java的功能包,提供Java程序開發(fā)和運(yùn)行所需的各種API、Java虛擬機(jī)等基礎(chǔ)環(huán)境。運(yùn)行于龍芯平臺(tái)上的Java虛擬機(jī)由龍芯團(tuán)隊(duì)開發(fā)和維護(hù),并負(fù)責(zé)向最新版本OpenJDK增加對(duì)龍芯平臺(tái)的支持。


以下內(nèi)容來自龍芯中科微信公眾號(hào):

  2022年1月27日,龍芯中科于龍芯開源社區(qū)正式對(duì)外發(fā)布基于OpenJDK 17的龍芯平臺(tái)Java環(huán)境。Java 17提供了數(shù)千種性能、穩(wěn)定性和安全性更新,以及14個(gè)JEP(JDK Enhancement Proposal,即 JDK 增強(qiáng)建議)來進(jìn)一步優(yōu)化Java語言和平臺(tái),從而幫助開發(fā)人員提高工作效率。

  Java 17是Oracle最新發(fā)布的長(zhǎng)期支持 (Long-Term Support, LTS) 版本[1]。關(guān)于Java 17更詳細(xì)的內(nèi)容請(qǐng)見下方Oracle官網(wǎng)[2]。此次新發(fā)布的版本,除了上述上游更新以外,龍芯團(tuán)隊(duì)針對(duì)龍芯平臺(tái)特別是LoongArch平臺(tái)進(jìn)行了新功能開發(fā)和優(yōu)化,具體如下:

符合TCK標(biāo)準(zhǔn)

  龍芯平臺(tái)Java 17環(huán)境經(jīng)過驗(yàn)證符合Java SE 17,新應(yīng)用程序和現(xiàn)有應(yīng)用程序無需修改即可運(yùn)行。

支持C1編譯器和分層編譯

  C2編譯器(Server Compiler)主要滿足了Java應(yīng)用的峰值性能需求,此次發(fā)布的LoongArch64平臺(tái)環(huán)境支持C1編譯器(Client Compiler)和分層編譯,可進(jìn)一步滿足對(duì)啟動(dòng)性能有要求的Java應(yīng)用,比如桌面應(yīng)用。通過實(shí)測(cè),龍芯平臺(tái)開啟C1和分層編譯之后,部分應(yīng)用得到了顯著提升:Eclipse啟動(dòng)時(shí)間減少16.4%,NetBeans啟動(dòng)時(shí)間減少20.1%,SPECjvm2008中的startup項(xiàng)提升13.4%,Dacapo中l(wèi)uindex和fop用時(shí)分別降低31.9%和29.2%。

LoongArch向量指令優(yōu)化

  此次版本通過使用LoongArch向量指令對(duì)C2編譯器進(jìn)行了自動(dòng)向量化優(yōu)化,同時(shí)還進(jìn)行了Vector API的硬件支持。通過實(shí)測(cè),開啟向量?jī)?yōu)化后,在LoongArch64平臺(tái)上SPECjvm2008中的scimark.lu.small提升了102.7%JMH Microbenchmarks含有Vector關(guān)鍵字的168項(xiàng)測(cè)試中,計(jì)時(shí)類測(cè)試中有39項(xiàng)用時(shí)降低1/2以上,吞吐量類測(cè)試中有26項(xiàng)提升2倍以上、其中最高項(xiàng)提升了200倍以上


支持ZGC

  ZGC(The Z Garbage Collector),是一款低延遲垃圾回收器,它的設(shè)計(jì)目標(biāo)包括[3]:

  ● 亞毫秒級(jí)最大停頓時(shí)間

  ● 暫停時(shí)間不隨堆的大小、存活集及根集的大小的增加而增加

  ● 支持8MB至16TB級(jí)別的堆大小


  通過實(shí)測(cè),龍芯平臺(tái)(LoongArch64)開啟ZGC后,在3C5000L雙路上SPECjbb2015 max-jOPS提升27.8%,critical-jOPS提升200%以上。

加解密類優(yōu)化

  此次版本通過Intrinsics方式使用LoongArch基礎(chǔ)指令對(duì)SHA1、SHA256、AES、MD5以及CRC32相關(guān)API進(jìn)行優(yōu)化。這些優(yōu)化對(duì)SPECjvm2008中的crypto等項(xiàng)目有顯著提升效果。


數(shù)組拷貝優(yōu)化

  此次版本針對(duì)LoongArch進(jìn)行了數(shù)組拷貝相關(guān)操作的重構(gòu)和優(yōu)化。通過JMH Microbenchmarks測(cè)試顯示,
org.openjdk.bench.java.lang.ArrayCopy相關(guān)測(cè)試用例優(yōu)化后平均執(zhí)行時(shí)間下降33%,最多項(xiàng)下降了76.77%
,SPECjvm2008中的serial項(xiàng)優(yōu)化后提升了6%以上。


原子指令優(yōu)化

  此次版本通過使用LoongArch原子訪存指令減少了內(nèi)存屏障指令的使用,對(duì)volatile相關(guān)操作實(shí)現(xiàn)了優(yōu)化。

后期規(guī)劃

  除了上述優(yōu)化以外,此次發(fā)布的版本還包含針對(duì)龍芯平臺(tái)的一些故障修復(fù)。這些優(yōu)化和故障修復(fù)中的部分內(nèi)容已集成至龍芯平臺(tái)低版本JDK中,更多內(nèi)容會(huì)根據(jù)情況陸續(xù)集成至低版本JDK中。


FFmpeg、OpenJDK17 龍芯 LoongArch 版本的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
逊克县| 临潭县| 娱乐| 神农架林区| 通渭县| 女性| 通辽市| 保靖县| 汉阴县| 盐源县| 南华县| 上高县| 丘北县| 万全县| 正定县| 丹棱县| 万源市| 东乡县| 安阳市| 庆安县| 龙里县| 通城县| 霍邱县| 洛宁县| 鸡泽县| 博兴县| 陕西省| 堆龙德庆县| 黄梅县| 彭山县| 旬阳县| 尼木县| 赫章县| 壶关县| 洛隆县| 高密市| 同心县| 长汀县| 丹寨县| 南川市| 德保县|