RFR (M): Avoid touching metadata if class unloading is not requested
Roman Kennke
rkennke at redhat.com
Tue Jan 24 10:29:22 UTC 2017
Cool! Yes!
Roman
Am Dienstag, den 24.01.2017, 00:15 +0100 schrieb Aleksey Shipilev:
> Hi,
>
> This wild idea is due to Roman. In many GC cycles, we don't unload
> the classes,
> and therefore, we don't need to see which classes are alive. With
> that, we don't
> need to touch Klasses and CLDs in most cycles. Here's a patch that
> improves on this:
> http://cr.openjdk.java.net/~shade/shenandoah/concmark-no-metadata/we
> brev.01/
>
> It also touches up a few places in concurrent mark code to get better
> inlining.
>
> Marking a large HashMap improves quite a bit:
>
> before:
> Concurrent Marking = 134.99 s (a = 1249911 us) (n = 108)
> (lvls, us = 869141, 1210938, 1250000, 1269531, 1326828)
>
> after:
> Concurrent Marking = 124.58 s (a = 1132579 us) (n = 110)
> (lvls, us = 787500, 1113281, 1152344, 1171875, 1215482)
>
>
> Testing: hotspot_gc_shenandoah
>
> Thanks,
> -Aleksey
>
More information about the shenandoah-dev
mailing list