RFR: Lazy parallel code cache iterator
Roman Kennke
rkennke at redhat.com
Tue May 23 09:52:57 UTC 2017
Am 23.05.2017 um 11:06 schrieb Aleksey Shipilev:
> Hi,
>
> The last time we improved code cache iterator with more parallelism, and it
> improved the pause times. However, we had to do the eager preparation stage in
> its constructor, which means we scan code cache during ShenandoahRP
> construction, even if we skip code cache iteration later! Which means we have
> redundant work during Init Mark and Final Update-Refs pauses.
>
> The fix is to redo the iterator to be lazy again, while maintaining parallelism:
> http://cr.openjdk.java.net/~shade/shenandoah/codecache-lazyparallel/webrev.01/
>
> Before/after on SPECjbb:
> http://cr.openjdk.java.net/~shade/shenandoah/codecache-lazyparallel/baseline.log
> http://cr.openjdk.java.net/~shade/shenandoah/codecache-lazyparallel/patched.log
>
> Saves 3..8 ms per pause!
>
> Testing: hotspot_gc_shenandoah, jcstress/fastdebug/aggressive
>
> -Aleksey
>
Very cool! Go!
Roman
More information about the shenandoah-dev
mailing list