RFC: Make Traversal GC default in dev?
Aleksey Shipilev
shade at redhat.com
Thu May 31 16:27:45 UTC 2018
On 05/31/2018 06:25 PM, Roman Kennke wrote:
> Am 23.05.2018 um 11:40 schrieb Aleksey Shipilev:
>> On 05/23/2018 11:04 AM, Roman Kennke wrote:
>>> What speaks against making Traversal GC the default mode in dev branch? It seems to equal or
>>> exceed performance and latency in most cases, sometimes dramatically, it provides better
>>> footprint properties due to incremental-updatish algorithm, a simpler barrier story, etc. Early
>>> testers have uncovered some bugs, but now seem happy with it. What's holding it back?
>>
>> From the top of my head:
>>
>> 1) Throughput is not necessarily better: Compiler.* is ~4% slower, Derby is ~2% slower
>>
>> 2) There is no traversal in sh/jdk9 and sh/jdk8, and most of our adopters are on sh/jdk8, so not
>> only this move would split our adopter user base, depending on what version they are running, but it
>> also provides us no substantial exposure benefits.
>>
>> 3) Recent C2 barrier work have not been ported/verified for traversal?
>>
>> I believe traversal is the future going forward, but there are also engineering things we need to
>> complete before we consider it to be default.
>
> So how about including it in backports, after Roland got the C2 enqueue
> barriers in shape? That should make it easier to give it some more
> exposure to early testers, and also make your backporting life easier?
It is already in sh/jdk10. Backporting the whole shebang to sh/jdk8u would mean backporting
partial/matrix stuff too, which is problematic.
-Aleksey
More information about the shenandoah-dev
mailing list