JEP 248: Make G1 the Default Garbage Collector
kirk at kodewerk.com
Fri Jul 31 06:14:40 UTC 2015
>> If you mean to imply that high allocation rates and short lifetimes are,
>> necessarily, signs of a poorly-written application then I'll have to
>> disagree. Sure, these things can be done to extremes, but I don't think
>> javac does that and I'd hate to see it re-engineered to "improve" these
>> particular metrics. It might be better just to change javac's launcher
>> to specify the Parallel GC, since this is most definitely an application
>> for which pause times are irrelevant.
> Nope, not intended to imply high object allocation rates and short object lifetimes are poorly written apps. GCs love short lived objects!
> A very high number of unnecessary object allocations is my pet peeve coupled with keeping them live for much longer than necessary.
IOWs, memory efficiency counts as much or even more than execution efficiency. With memory efficiency, GC is only half the story. To have a short lived object you have to go through all of the logic to create it. IME, that activity is as damaging to performance as low GC throughput can be.
javac is as a disk bound activity where the stress comes from reading zip files.
More information about the hotspot-dev