IT资讯 龙芯发布基于 OpenJDK 17 & 11 的 Java 环境

renee · 2022-01-28 09:30:07 · 热度: 29

龙芯开源社区发布了基于 OpenJDK 17 11 的龙芯平台 Java 环境。

龙芯发布基于 OpenJDK 17 & 11 的 Java 环境

龙芯平台 Java 环境是龙芯公司基于 OpenJDK 移植的 LoongArch 和 MIPS 版本,通过 JCK 认证,并长期进行安全更新和错误修复,其支持 OpenJFX、Java Web Start 和 JNA 等功能。

源码库:http://hg.loongnix.cn

基于 OpenJDK 17 的龙芯平台 Java 环境

Java 17 是 Oracle 最新发布的 LTS 版本,总共包括 14 个 JEP。龙芯开源社区此次新发布的版本除了引入上游更新外,还针对龙芯平台——特别是 LoongArch 平台进行了新功能开发和优化,具体如下:

符合 TCK 标准

龙芯平台 Java 17 环境经过验证符合 Java SE 17,新应用程序和现有应用程序无需修改即可运行。

C1 和分层编译支持

C1编译器即 Client Compiler,主要特点是较低的启动耗时和较小的内存占用。C2编译器即 Server Compiler,主要特点是较高的峰值性能。综合了解释器、以及 C1 和 C2 的优点,HotSpot 引入了分层编译(Tiered Compilation)技术,将执行方式划分为多个级别。

C2编译器主要是满足了 Java 应用的峰值性能需求,此次发布的 LoongArch64 平台环境支持C1编译器和分层编译,可进一步满足对启动性能有要求的 Java 应用,比如桌面应用。通过实测,龙芯平台开启 C1 和分层编译之后,部分应用得到了显著提升:

  • Eclipse 启动时间减少 16.4%
  • NetBeans 启动时间减少 20.1%
  • SPECjvm2008 中的 startup 项提升 13.4%
  • Dacapo 中 luindex 和 fop 用时分别降低 31.9% 和 29.2%
  • SPECjbb2015 max-jOPS 提升 2.8%。

向量指令优化

此次版本通过使用 LoongArch 向量指令对C2编译器进行了自动向量化优化,同时还进行了 Vector API 的硬件支持。通过实测,开启向量优化后,在 LoongArch64 平台上 SPECjvm2008 中的 scimark.lu.small 提升了 102.7%,JMH Microbenchmarks 含有 Vector 关键字的 168 项测试中,计时类测试中有 39 项用时降低 1/2 以上,吞吐量类测试中有 26 项提升 2 倍以上、其中最高项提升了 298 倍。

ZGC 支持

ZGC(The Z Garbage Collector),是一款低延迟垃圾回收器,它的设计目标包括:

  • 亚毫秒级最大停顿时间
  • 暂停时间不随堆的大小、存活集及根集的大小的增加而增加
  • 支持 8MB 至 16TB 级别的堆大小

通过实测,龙芯平台(LoongArch64)开启 ZGC 后,在 3C5000L 双路上 SPECjbb2015 max-jOPS 提升 27.8%,critical-jOPS 提升 200% 以上。

龙芯发布基于 OpenJDK 17 & 11 的 Java 环境

加解密类优化

此次版本通过 Intrinsics 方式使用 LoongArch 基础指令对 SHA1、SHA256、AES、MD5 以及 CRC32 相关 API 进行优化。这些优化对 SPECjvm2008 中的 crypto 等项目有显著提升效果。

数组拷贝优化

此次版本针对 LoongArch 进行了数组拷贝相关 Stub 的重构和优化。通过 JMH Microbenchmarks 测试显示,org.openjdk.bench.java.lang.ArrayCopy 相关测试用例优化后平均执行时间下降 33%,最多项下降了 76.77%,SPECjvm2008 中的 serial 项优化后提升了 6% 以上。

原子指令优化

此次版本通过使用 LoongArch 原子访存指令减少了内存屏障指令的使用,对 volatile 相关操作实现了优化。

其他

除了上述优化以外,此次发布的版本还包含针对龙芯平台的一些故障修复。这些优化和故障修复中的部分内容已集成至龙芯平台低版本 JDK 中,更多内容会根据情况陆续集成至低版本 JDK 中。


基于 OpenJDK 11 的龙芯平台 Java 环境

Java 11 包含 17 个 JEP,也是自 Java 8 后的首个 LTS 版本。此次发布的龙芯平台 Java 11 环境,对应社区 11.0.12+7 版本,除了包含上游更新以外,还包含了龙芯公司针对龙芯平台进行的新功能开发和优化。

符合 TCK 标准

龙芯平台 Java 11 环境经过验证符合 Java SE 11,新应用程序和现有应用程序无需修改即可运行。

加解密类优化

此次版本通过 Intrinsics 方式使用 LoongArch 基础指令对 SHA1、SHA256、AES 相关 API 进行优化。这些优化对 SPECjvm2008 中的 crypto 等项目有显著提升效果。

数组拷贝优化

此次版本针对 LoongArch 进行了数组拷贝相关 Stub 的重构和优化。通过 JMH Microbenchmarks 测试显示,org.openjdk.bench.java.lang.ArrayCopy 相关测试用例优化后平均执行时间下降 33%,最多项下降了 76.77%,SPECjvm2008 中的 serial 项优化后提升了 6% 以上。

原子指令优化

此次版本通过使用 LoongArch 原子访存指令减少了内存屏障指令的使用,对 volatile 相关操作实现了优化。

下载地址:http://www.loongnix.cn/index.php/Java

 

猜你喜欢:
暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册