在我的Raspberry上,我使用两个JVM进行了一些性能测试,如CaffeineMark和SciMark.尽管我听说差异非常小,但它们之间存在巨大的性能差异.我也尝试使用浮点数进行计算,并且Oracle JDK获得了更好的分数,即使两者都应该支持硬浮点数abi.
我Linux raspberrypi 3.18.11-v7+用作OS.
OpenJDK:
java version "1.7.0_79"
OpenJDK Runtime Environment (IcedTea 2.5.5) (7u79-2.5.5-1~deb7u1+rpi1)
OpenJDK Zero VM (build 24.79-b02, mixed mode)
OracleJDK:
java version "1.7.0_40"
Java(TM) SE Runtime Environment (build 1.7.0_40-b43)
Java HotSpot(TM) Client VM (build 24.0-b56, mixed mode)
SciMark results:
OpenJDK OracleJDK
Composite Score 14.280735577363213 || 32.24948180361924
FFT (1024) 9.482866845055302 || 26.447121360843663
SOR (100x100) 27.14938943220646 || 59.68022533004399
Monte Carlo 3.6298604956147384 || 10.561671865446971
Sparse matmult 15.603809523809524 || 26.64931580928407
LU (100x100) 15.53775159013005 || 37.90907465247749
Run Code Online (Sandbox Code Playgroud)
我使用了一个程序,计算浮点数为0.1步到600000.我试图测试JVM处理浮点数的性能.
OpenJDK:257ms
OracleJDK:151ms
0.1步到1200000: …