IT之家 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ā)人員提高工作效率。
IT之家了解到,此次新發(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í)測,龍芯平臺(tái)開啟 C1 和分層編譯之后,部分應(yīng)用得到了顯著提升:Eclipse 啟動(dòng)時(shí)間減少 16.4%,NetBeans 啟動(dòng)時(shí)間減少 20.1%,SPECjvm2008 中的 startup 項(xiàng)提升 13.4%,Dacapo 中 luindex 和 fop 用時(shí)分別降低 31.9% 和 29.2%。
LoongArch 向量指令優(yōu)化:
此次版本通過使用 LoongArch 向量指令對(duì) C2 編譯器進(jìn)行了自動(dòng)向量化優(yōu)化,同時(shí)還進(jìn)行了 Vector API 的硬件支持。
通過實(shí)測,開啟向量優(yōu)化后,在 LoongArch64 平臺(tái)上 SPECjvm2008 中的 scimark.lu.small 提升了 102.7%,JMH Microbenchmarks 含有 Vector 關(guān)鍵字的 168 項(xiàng)測試中,計(jì)時(shí)類測試中有 39 項(xiàng)用時(shí)降低 1/2 以上,吞吐量類測試中有 26 項(xiàng)提升 2 倍以上、其中最高項(xiàng)提升了 200 倍以上。
支持 ZGC:
ZGC(The Z Garbage Collector),是一款低延遲垃圾回收器,它的設(shè)計(jì)目標(biāo)包括:
亞毫秒級(jí)最大停頓時(shí)間
暫停時(shí)間不隨堆的大小、存活集及根集的大小的增加而增加
支持 8MB 至 16TB 級(jí)別的堆大小
通過實(shí)測,龍芯平臺(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 測試顯示,org.openjdk.bench.java.lang.ArrayCopy 相關(guān)測試用例優(yōu)化后平均執(zhí)行時(shí)間下降 33%,最多項(xiàng)下降了 76.77%,SPECjvm2008 中的 serial 項(xiàng)優(yōu)化后提升了 6% 以上。
原子指令優(yōu)化:
除了上述優(yōu)化以外,此次發(fā)布的版本還包含針對(duì)龍芯平臺(tái)的一些故障修復(fù)。這些優(yōu)化和故障修復(fù)中的部分內(nèi)容已集成至龍芯平臺(tái)低版本 JDK 中,更多內(nèi)容會(huì)根據(jù)情況陸續(xù)集成至低版本 JDK 中。
龍芯平臺(tái) Java 17 環(huán)境:點(diǎn)此下載
廣告聲明:文內(nèi)含有的對(duì)外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時(shí)間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。