There is another JEP with the number 333:
here, the goals are:
Inside JEP 333 there are some numbers for the performance provided:
- GC pause times should not exceed 10ms
- Handle heaps ranging from relatively small (a few hundreds of megabytes) to very large (many terabytes) in size
- No more than 15% application throughput reduction compared to using G1
- Lay a foundation for future GC features and optimizations leveraging colored pointers and load barriers
- Initially supported platform: Linux/x64
Below are typical GC pause times from the same benchmark. ZGC manages to stay well below the 10ms goal. Note that exact numbers can vary (both up and down, but not significantly) depending on the exact machine and setup used.This looks very promising. But within the limitations you can read, that it will take some more time, until this can be used:
(Lower is better)
ZGC avg: 1.091ms (+/-0.215ms) 95th percentile: 1.380ms 99th percentile: 1.512ms 99.9th percentile: 1.663ms 99.99th percentile: 1.681ms max: 1.681ms G1 avg: 156.806ms (+/-71.126ms) 95th percentile: 316.672ms 99th percentile: 428.095ms 99.9th percentile: 543.846ms 99.99th percentile: 543.846ms max: 543.846ms
The initial experimental version of ZGC will not have support for class unloading. TheNevertheless: You can use this GC with the command line argument
ClassUnloadingWithConcurrentMarkoptions will be disabled by default. Enabling them will have no effect.
Also, ZGC will initially not have support for JVMCI (i.e. Graal). An error message will be printed if the
EnableJVMCIoption is enabled.
These limitations will be addressed at a later stage in this project.
For more information take a look here: https://wiki.openjdk.java.net/display/zgc/Main