RFR (S): Full GC mark without liveness stats
Aleksey Shipilev
shade at redhat.com
Tue Nov 1 21:35:59 UTC 2016
Hi,
I am not entirely sure this is a correct assumption, but if I read the
code right, we don't need region liveness stats when doing mark for Full
GC? Because we compact everything anyway?
If we hack this away:
http://cr.openjdk.java.net/~shade/shenandoah/fullgc-no-live-stats/webrev.01/
...then there is a repeatable +10% improvement for mark phase:
# Before:
Full GC Times = 94.29 s (avg = 8571.54 ms)
Mark = 34.92 s (avg = 3174.47 ms)
Drain Queues = 34.90 s (avg = 3172.31 ms)
Weak References = 0.00 s (avg = 0.33 ms)
Class Unloading = 0.01 s (avg = 0.80 ms)
Calculate Addresses = 12.66 s (avg = 1150.98 ms)
Adjust Pointers = 24.92 s (avg = 2265.87 ms)
Copy Objects = 21.61 s (avg = 1964.49 ms)
# After:
Full GC Times = 90.51 s (avg = 8228.46 ms)
Mark = 31.17 s (avg = 2833.41 ms)
Drain Queues = 31.14 s (avg = 2831.36 ms)
Weak References = 0.00 s (avg = 0.24 ms)
Class Unloading = 0.01 s (avg = 0.77 ms)
Calculate Addresses = 12.59 s (avg = 1144.15 ms)
Adjust Pointers = 25.01 s (avg = 2273.75 ms)
Copy Objects = 21.58 s (avg = 1961.43 ms)
Thanks,
-Aleksey
More information about the shenandoah-dev
mailing list