Azul Introduces Code Inventory The Solution That Identifies Unused and Dead Code for Removal in Production, Saving Developer Time and Money 
Support
Blog chevron_right Performance

Benchmarking Renaissance on OpenJDK and Azul Platform Prime

The Renaissance Suite is an increasingly popular Java benchmark and one of the many benchmarks that Azul uses internally to measure performance of Azul Platform Prime from release to release and against OpenJDK. In this blog, we will look at how we run Renaissance and how Azul Platform Prime performs against OpenJDK.

Benchmark Methodology

We ran Renaissance on the following machine:

  • Intel(R) Xeon(R) CPU E3-1220 v5 @ 3.00GHz
  • 4 Cores
  • SSD hard drive
  • Hyperthreading disabled
  • Turbo Boost disabled

We tested these JDK versions:

  • Azul Platform Prime: Azul Zing Builds of OpenJDK 21.07
  • OpenJDK: Azul Zulu Builds of OpenJDK 11.0.11

We gave the JVMs 12GB of heap. To ensure that both JVMs are sufficiently warmed up, we run each benchmark inside the Renaissance Suite for at least 700 repetitions. The value in our results is the best value of the ten last repetitions. The Detailed Run Instructions section shows the exact commands we used for running each benchmark.

If you are trying this at home, make sure you run each benchmark for 700 repetitions. Renaissance benchmark results are unstable at low repetition counts and different benchmarks in the suite take different amounts of time to warm up properly.

Result: Azul Platform Prime Outperforms OpenJDK by 37%

Taking the geomean of all benchmark scores, Azul Platform Prime performs 37% better than OpenJDK on the entire Renaissance Suite. Individual benchmark scores are listed below.

Best run time for one repetition (ms – lower is better)

Benchmark Azul Platform Prime OpenJDK Ratio
akka-uct 10549.498 8028.826 -23.89%
naive-bayes 328.679 306.087 -6.87%
philosophers 1538 1537 -0.07%
fj-kmeans 3599.683 3711.731 3.11%
reactors 11545.391 11927.224 3.31%
movie-lens 6318.39 6812.419 7.82%
finagle-http 1196.808 1388.692 16.03%
dotty 1753.385 2047.935 16.80%
page-rank 2537.716 2968.951 16.99%
future-genetic 1501.889 1819.681 21.16%
scala-stm-bench7   782.727 951.462 21.56%
finagle-chirper    1176.152 1482.27 26.03%
dec-tree 1066.93 1348.837 26.42%
scala-kmeans 197.251 264.682 34.19%
db-shootout 3342.461 4609.739 37.92%
rx-scrabble 180.222 265.868 47.52%
als 1813.85 2799.993 54.37%
chi-square 902.21 1402.555 55.46%
gauss-mix 670.127 1042.118 55.51%
scrabble 270.147 423.272 56.68%
log-regression 1294.146 2155.792 66.58%
par-mnemonics 1623.963 3848.12 136.96%
mnemonics 2075.104 4972.762 139.64%
scala-doku 1883.264 4699.728 149.55%
neo4j-analytics 3514.991  9190.704  161.47%

Detailed Run Instructions

Here are the exact commands we used for each of the benchmarks. For each tests we run the following command:

$JAVA_HOME/bin/java -Xms12g -Xmx12g -jar $RENAISSANCE_HOME/renaissance-0.11.0.jar -r 700 all

Try It Yourself

Azul Platform Prime Stream Builds are free for testing and evaluation. Try it yourself.