-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Description
ZGC Support
Is your feature request related to a problem? Please describe.
I work on a project where we have a monitoring system with very low tolerance for inaccurate/delayed measurement. That is not to say a real-time requirement, but delays we experienced under G1 exceeding 100ms where undesirable, and delays under G1 exceeding 1000ms extremely problematic.
ZGC has been our savior in this regard. We rarely see GC times above 2ms, and 99.9% less than 100ms.
We are currently on Java 11, and in some minor edges of the project we use Nashorn. Unfortunately, Nashorn has been deprecated and will disappear soon. GraalVM is the recommended path to continued support for JavaScript integration into Java.
Which leads to the conflict of needing GraalVM as well as ZGC in order to move off of Java 11. Luckily, Java 11 is LTS, but LTS does not mean forever.
Describe the solution you'd like.
Support for ZGC in GraalVM. In our case, we do not need native compilation support for ZGC, merely runtime support.
Describe who do you think will benefit the most.
Anyone using GraalVM in a high-speed transaction environment.
Describe alternatives you've considered.
Staying on Java 11, or switching Nashorn out for the last supported release of Rhino if we have to move to Java 17 LTS.
@bobmcwhirter @adinn I saw back last year your comments in #1278 regarding generating appropriate barriers for alternative GC to work. Basically this, I was told on the ZGC mailing list back in 2018, was the gating factor getting ZGC to work with GraalVM. Given that (maybe?) the barrier generation is there now, possibly ZGC is finally ready for integration and testing?