1 月 27 日消息,龙芯中科今日于龙芯开源社区正式对外发布基于 OpenJDK 17 的龙芯平台 Java 环境。
Java 17 提供了数千种性能、稳定性和安全性更新,以及 14 个 JEP(JDK Enhancement Proposal,即 JDK 增强建议)来进一步优化 Java 语言和平台,从而帮助开发人员提高工作效率。
此次新发布的版本,除了上述上游更新以外,龙芯团队针对龙芯平台特别是 LoongArch 平台进行了新功能开发和优化,具体如下:
符合 TCK 标准:
龙芯平台 Java 17 环境经过验证符合 Java SE 17,新应用程序和现有应用程序无需修改即可运行。
支持 C1 编译器和分层编译:
C2 编译器(Server Compiler)主要满足了 Java 应用的峰值性能需求,此次发布的 LoongArch64 平台环境支持 C1 编译器(Client Compiler)和分层编译,可进一步满足对启动性能有要求的 Java 应用,比如桌面应用。
通过实测,龙芯平台开启 C1 和分层编译之后,部分应用得到了显著提升:Eclipse 启动时间减少 16.4%,NetBeans 启动时间减少 20.1%,SPECjvm2008 中的 startup 项提升 13.4%,Dacapo 中 luindex 和 fop 用时分别降低 31.9% 和 29.2%。
LoongArch 向量指令优化:
此次版本通过使用 LoongArch 向量指令对 C2 编译器进行了自动向量化优化,同时还进行了 Vector API 的硬件支持。
通过实测,开启向量优化后,在 LoongArch64 平台上 SPECjvm2008 中的 scimark.lu.small 提升了 102.7%,JMH Microbenchmarks 含有 Vector 关键字的 168 项测试中,计时类测试中有 39 项用时降低 1/2 以上,吞吐量类测试中有 26 项提升 2 倍以上、其中最高项提升了 200 倍以上。
支持 ZGC:
ZGC(The Z Garbage Collector),是一款低延迟垃圾回收器,它的设计目标包括:
亚毫秒级最大停顿时间暂停时间不随堆的大小、存活集及根集的大小的增加而增加支持 8MB 至 16TB 级别的堆大小通过实测,龙芯平台(LoongArch64)开启 ZGC 后,在 3C5000L 双路上 SPECjbb2015 max-jOPS 提升 27.8%,critical-jOPS 提升 200% 以上。
加解密类优化:
此次版本通过 Intrinsics 方式使用 LoongArch 基础指令对 SHA1、SHA256、AES、MD5 以及 CRC32 相关 API 进行优化。这些优化对 SPECjvm2008 中的 crypto 等项目有显著提升效果。
数组拷贝优化:
此次版本针对 LoongArch 进行了数组拷贝相关操作的重构和优化。
通过 JMH Microbenchmarks 测试显示,org.openjdk.bench.java.lang.ArrayCopy 相关测试用例优化后平均执行时间下降 33%,最多项下降了 76.77%,SPECjvm2008 中的 serial 项优化后提升了 6% 以上。
原子指令优化:
除了上述优化以外,此次发布的版本还包含针对龙芯平台的一些故障修复。这些优化和故障修复中的部分内容已集成至龙芯平台低版本 JDK 中,更多内容会根据情况陆续集成至低版本 JDK 中。
龙芯平台 Java 17 环境:点此下载
特别提醒:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。