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