JEP 248: Make G1 the Default Garbage Collector
This is a very interesting conversation, and I'd like to throw in Google's not-quite-relevant observations, too. We're not quite relevant because we'll just change the default to whatever we want, and because we ignore the parallel GC, for the most part. Much of it has been said before in this thread, but it's worth reiterating. - As it happens, we're considering changing the default, too - to the CMS collector! - We've been asking people to try G1 approximately annually for the last five or so years. - Although G1 performance has gotten better over time, we still find that the additional CPU costs outweigh any benefits, and that CMS typically ends up ahead. - With most of our more important workloads, our admins tend to tune applications carefully so that the OG doesn't fill up too much, and CMS cycles are not triggered often. This is deeply important in server-style applications - you want anything generated and used by a single request to go away with a YG collection. - Part of the reason our CMS performs better is that we've made changes to CMS to improve its performance. We see roughly half as much CPU utilization, and the long tail pause times have been cut dramatically. It would be nice if we could upstream the changes (especially for us, because they break with every new release, and we have to fix them!), but we've never been able to find anyone at Oracle who has the bandwidth to do the reviews. For example, the response to this:Read full article from JEP 248: Make G1 the Default Garbage Collector
No comments:
Post a Comment