openjdk-riscv / jdk11u

Read-only mirror of https://hg.openjdk.java.net/jdk-updates/jdk11u/
GNU General Public License v2.0
11 stars 14 forks source link

RV32 C2 模式下的 SPECjbb2015 测试情况 #595

Open zifeihan opened 11 months ago

zifeihan commented 11 months ago

SPECjbb2015 需要购买版权,因此这里不放链接。

bishengJDK 版本为:https://gitee.com/openeuler/bishengjdk-11/commit/810e92efa5dca9ff556277fc4eed076fe0630e5e JDK11U RV32 版本为:https://github.com/openjdk-riscv/jdk11u/commit/cfc5c12f9bd5a0603736217ed3006773f8cf106a 通过测试 RV32 C2,RV32 解释器,BishengJDK RV64 C2 这三个版本,得出三者间的性能差异。 宿主机环境:C8服务器,128核,256G内存。 测试环境:目前还没有 RISC-V 32 位可运行linux的物理机器,因此开发和测试都是使用qemu模拟环境。搭建模拟环境参考:https://github.com/openjdk-riscv/jdk11u/wiki/Build-OpenJDK11-for-RV32G 测试JVM参数均为:-Xmx2g,RV32 解释器版本和 RV32 C2 使用同一个JDK11U可执行程序,只是RV32 解释器版本需要另外多加:-Xint 参数用来开启模版解释执行,因为RV32G最大堆内存只有4个G,但是bishengJDK 64位可以使用更大堆内存,为了屏蔽内存差异,因此这里无论是 bishengJDK 还是 JDK11U RV32 版本都设置使用2G。

BishengJDK RV64 C2 测试结果如下:

SPECjbb2015_bishengJDK.zip

image

JDK11U RV32 解释器 测试结果如下:

SPECjbb2015_jdk11u32Xint.zip

image

JDK11U RV32 C2 测试结果如下:

SPECjbb2015_jdk11u32C2.zip

image

结论

1.测试过程中无报错,JVM 无崩溃,无异常。 2.暂时对 SPECjbb2015 测试报告中的各项指标不太明白,目前知道SPECjbb2015-Composite max-jOPS ,SPECjbb2015-Composite critical-jOPS 这两项指标越高越好。可以看到 JDK11U RV32 C2 中这两项指标和 BishengJDK RV64 C2 比较接近,JDK11U RV32 解释器这两项指标比较低。

测试版本 SPECjbb2015-Composite max-jOPS SPECjbb2015-Composite critical-jOPS
BishengJDK RV64 C2 5013 1544
JDK11U RV32 解释器 899 0
JDK11U RV32 C2 5258 1624