Brand-New Garbage Collector for the Excelsior JET JVM.
The new Excelsior CoreBalance GC aims at shortening “stop-the-world” pauses and reducing overall garbage collection overheads through better utilization of multicore CPUs.
For instance, in one of our tests we've run the SPECjbb benchmark on a system equipped with a quad-core CPU and observed the following results:
Average GC pause:
Excelsior JET 10.0 - 23.3ms
Excelsior JET 10.5 + CoreBalance - 13.5ms (42% improvement)
Maximum GC pause:
Excelsior JET 10.0 - 93.3ms
Excelsior JET 10.5 + CoreBalance - 66.0ms (29% improvement)
Total GC time:
Excelsior JET 10.0 - 71.3s
Excelsior JET 10.5 + CoreBalance - 44.8s (37% improvement)
Take It Out for a Spin
If you care about GC ergonomics of your natively compiled Java applications, give Excelsior JET a try and share your experience with us (especially if you run into any problems when using the new GC). Just make sure to enable the Server Runtime and do your comparisons on multi-core systems - there won't be much difference otherwise.
Starting from version 10.5, the CoreBalance garbage collector is available in the Enterprise Edition of Excelsior JET on all platforms.
Starting from version 11.3, it is also available in Excelsior JET Embedded on all platforms.