RFR (S): Conditional matrix cleanup

Aleksey Shipilev shade at redhat.com
Wed May 3 11:21:08 UTC 2017


Hi,

Turns out, the significant part of per-region matrix cleanup are the actual
stores. In most of our scenarios the matrix is very sparse, and therefore it
helps to avoid writes by checking if matrix element is set before the store:
  http://cr.openjdk.java.net/~shade/shenandoah/matrix-clear-conditional/webrev.01/

Improves recycling and final mark times (when matrix is enabled):

Before:

  Recycle  =     0.86 s (a =     8447 us) (n =   102)
    (lvls, us =     8008,     8223,     8496,     8613,     9207)

After:

  Recycle  =     0.52 s (a =     5076 us) (n =   102)
    (lvls, us =     4668,     4766,     4863,     5215,     7828)

Testing: hotspot_gc_shenandoah

Thanks,
-Aleksey



More information about the shenandoah-dev mailing list