JEP 248: Make G1 the Default Garbage Collector

charlie hunt charlie.hunt at
Mon Jun 1 17:48:55 UTC 2015

> On Jun 1, 2015, at 12:46 PM, Ben Evans <ben at> wrote:
> On Mon, Jun 1, 2015 at 6:22 PM, charlie hunt <charlie.hunt at> wrote:
>>> On Jun 1, 2015, at 12:06 PM, Ben Evans <ben at> wrote:
>>> Having said that, there is definitely a decent-sized class of systems
>>> (not just in finance) that cannot really tolerate any more than about
>>> 10-15ms of STW. So, what usually happens is that they live with the
>>> young collections, use CMS and tune out the CMFs as best they can (by
>>> clustering, rolling restart, etc, etc). I don't see any possibility of
>>> G1 becoming a viable solution for those systems any time soon.
>> And, in this case what they do today is no different than what they would do with G1 as the default collector. In either case, they are gonna specify -XX:+UseConcMarkSweepGC as the GC to use because it is not the default GC, now or proposed.
> You're completely right - that was just something of a diversion into
> low latency.
>> So let’s go back to what the JEP is suggesting, (the default GC being changed from Parallel GC to G1 GC), resist the temptation of what the JEP is not suggesting, i.e. a replacement for Parallel GC or CMS GC. When that day comes, (which will very likely be well after JDK 9), there will be distinct JEPs for those changes.
>> The use case we are talking about is the “out of the box” experience.
> Agree 100%.
>> One question that may be worth pondering … suppose G1 happened to be the default GC today, and there was a JEP to make Parallel GC the default GC. What would your reaction to that JEP be?  I’m asking that question since I’d like to get a sense if your concerns are more about conservatism (not wanting to change behavior), stability of G1 or otherwise.
> Primarily conservatism. Of course, if G1 had been default, the
> "unknown unknowns" would have been resolved by now, so there would be
> no need to worry.
> I think that if G1 was default, and the platform was as successful
> across the same range of workloads as it is today, I'd be advocating
> for no change.

Is that because you think G1 would offer a better out of the box experience than Parallel GC, or because you would not want to see a change made to the JVM’s default GC?



> Thanks,
> Ben
> -- 
> Ben Evans, Co-founder jClarity @jclarity

More information about the hotspot-dev mailing list