RFR (L) 8227327: Shenandoah: Faster and more parallel tests
Aleksey Shipilev
shade at redhat.com
Fri Jul 5 18:40:59 UTC 2019
Current hotspot_gc_shenandoah suite runs in fastdebug like this:
real 31m31.172s
user 287m50.380s
sys 5m28.277s
This amounts to 9.1x parallelism on 16-thread machine. Clearly, something big is on the critical
path. Profiling shows the critical path is largely dominated by GCBasherWithShenandoah, which takes
26 minutes to run through all configurations. Other huge tests also run for a long time.
We can improve this by splitting @run into several @test groups -- this would execute @test-s in
parallel, reducing the impact on critical path. The convenient way to split is by mode: passive,
normal, traversal.
Also, we can remove some the useless configurations from the tests. This becomes apparent once we
reformat @run sections to be more digestible and following the same format.
Webrev:
https://cr.openjdk.java.net/~shade/8227327/webrev.01/
Patched version runs like this:
real 17m53.136s
user 247m50.750s
sys 5m33.051s
So, it yields ~13.7x parallelism on 16-thread machine, and does less work.
Testing: hotspot_gc_shenandoah (d'uh)
--
Thanks,
-Aleksey
More information about the hotspot-gc-dev
mailing list