rkennke's comments

rkennke | 4 years ago | on: Shenandoah in OpenJDK 17: Sub-millisecond GC pauses

The main difference from user perspective are 1. ZGC doesn't support compressed references (-XX:+UseCompressedOops) which could affect workloads <32GB heap and 2. Shenandoah GC is not available in Oracle builds

rkennke | 4 years ago | on: Shenandoah in OpenJDK 17: Sub-millisecond GC pauses

The main difference from user perspective are 1. ZGC doesn't support compressed references (-XX:+UseCompressedOops) which could affect workloads <32GB heap and 2. Shenandoah GC is not available in Oracle builds

rkennke | 4 years ago | on: Shenandoah in OpenJDK 17: Sub-millisecond GC pauses

Notice that with Shenandoah GC, weak references are handled concurrently since JDK 16, native roots like locks, classes, etc are handled concurrently since JDK 14. Therfore the first 3 problems that you mentioned are solved. Follow the links the OP article to find explanations for each of these improvements.

BTW, you can specify the number of GC threads that you like to use -XX:ConcGCThreads=X -XX:ParallelGCThreads=Y (X for concurrent GC, Y for STW pauses - which should no longer be very relevant).

Cheers!

page 1