RFR (S): Avoid scanning primitive arrays
Aleksey Shipilev
shade at redhat.com
Wed Feb 8 13:07:20 UTC 2017
Hi,
In many workloads, there are significant number of primitive arrays. We can save
the concurrent mark time by avoiding traversing their oop contents. Which there
are none, but the downcall to oop_oop_iterate_nv still happens.
Patch:
http://cr.openjdk.java.net/~shade/shenandoah/mark-primitive-arrays/webrev.01/
Improves mark times:
baseline:
Concurrent Marking = 48.32 s (a = 549133 us) (n = 88)
(lvls, us = 287109, 505859, 546875, 593750, 755718)
patched:
Concurrent Marking = 46.95 s (a = 533516 us) (n = 88)
(lvls, us = 283203, 494141, 523438, 572266, 744296)
Testing: hotspot_gc_shenandoah
Thanks,
-Aleksey
More information about the shenandoah-dev
mailing list