IT之家 1 月 27 日消息,龙芯中科今日于龙芯开源社区正式对外发布基于 OpenJDK 17 的龙芯平台 Java 环境。
Java 17 提供了数千种性能、稳定性和安全性更新,以及 14 个 JEP(JDK Enhancement Proposal,即 JDK 增强建议)来进一步优化 Java 语言和平台,从而帮助开发人员提高工作效率。
IT之家了解到,此次新发布的版本,除了上述上游更新以外,龙芯团队针对龙芯平台特别是 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),是一款低延迟垃圾回收器,它的设计目标包括:
- 亚毫秒级最大停顿时间
- 【 loong基于 OpenJDK 17 的龙芯平台 Java 环境发布,LoongArch 同步支持】暂停时间不随堆的大小、存活集及根集的大小的增加而增加
- 支持 8MB 至 16TB 级别的堆大小
文章插图
加解密类优化:此次版本通过 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 环境:点此下载
- 中小城市|两部门:大力培育基于云网基础设施的融合应用
- 招商|基于微信小程序的人文历史地理信息公共服务平台的设计与实现
- 智能系统|西班牙英德拉公司推出基于人工智能的欧洲战斗机运维专家系统
- 百度研究院发布2022科技趋势预测:基于AI的生物计算仍将高速发
- 团队论文 基于极化定向角补偿的思茅松林地上生物量反演
- 物联网|在未来的物联网框架中,需要资源实体映射和基于语义的发现能力
- 产研|产研实战:30分钟了解——基于IPD的产品研发管理
- 产品设计|基于链路思想的 SpringBoot 单元测试快速写法
- 龙芯|龙芯中科首款LoongArch嵌入式软件开发解决方案发布
- 36氪5G创新日报0118|重庆移动与科大讯飞联合推出5G秘书;烟台电网首套基于5G网络的纵联差动保护顺利投运 | 秘书