龙芯发布基于 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% 以上。

加解密类优化

此次版本通过 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

 

优秀的个人博客,低调大师

微信关注我们

原文链接:https://www.oschina.net/news/180603/loongson-openjdk17-n-openjdk11

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。