RFR: Default to ShenandoahCodeRootsStyle = 2

Zhengyu Gu zgu at redhat.com
Wed May 30 01:56:17 UTC 2018


Numbers are good! so good to me.

-Zhengyu

On 05/29/2018 06:07 PM, Aleksey Shipilev wrote:
> Ping.
> 
> On 05/25/2018 01:18 PM, Aleksey Shipilev wrote:
>> This is the follow up to the recent improvements in code roots handling in Shenandoah:
>>    http://mail.openjdk.java.net/pipermail/shenandoah-dev/2018-May/006032.html
>>
>> This time, we are better off to switch to style-2, which gives us parallel code roots iteration,
>> plus CSet filtering. The reason why style-2 is better than style-1 is because it does not visit the
>> nmethods that are known not to have roots in the cset. The performance runs on our set of benchmarks
>> shows that the "Initial Evacuation" time, and thus the "Final Mark" time had dropped significantly.
>>
>>              Initial evac time, us          Improvement
>>           style-0   style-1   style-2   1-over-0   2-over-1
>> Test A      6449      1596	 298       304%       436%
>> Test B      6381      1656       243       285%       581%
>> Test C       906       351       108       158%	      225%
>> Test D      1021       490        88       108%	      457%
>> Test E      1386       653       103       112%	      534%
>> Test F      1022       702       664        46%	        6%
>> Test G      2500       806        74       210%	      989%
>> Test H      1500       688       568       118%	       21%
>> Test I       696       463       220        50%	      110%
>> Test J       708       336       101       111%	      233%
>> Test K       604       330        96        83%	      244%
>> Test L       701       403        88        74%	      358%
>> Test M      1074       332       272       223%	       22%
>> Test N       769       330       120       133%	      175%
>> Test O       679       390       265        74%	       47%
>> Test P      1332       518        78       157%	      564%
>> Test Q      1188       461       174       158%       165%
>> Test R      5475      1697       652       223%	      160%
>> Test S      2413       926       142       161%	      552%
>>
>> There are other potential improvements we can do in style-2 in future, but even this provides us
>> with nice performance improvements.
>>
>> Change:
>>
>> diff -r ef24f20c2fae src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp
>> --- a/src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp	Thu May 24 20:20:48 2018 +0200
>> +++ b/src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp	Fri May 25 12:21:25 2018 +0200
>> @@ -207,7 +207,7 @@
>>             "Evacuate code roots concurrently, instead of during a pause. "   \
>>             "This requires ShenandoahBarriersForConst to be enabled.")        \
>>                                                                               \
>> -  experimental(uintx, ShenandoahCodeRootsStyle, 1,                          \
>> +  experimental(uintx, ShenandoahCodeRootsStyle, 2,                          \
>>             "Use this style to scan code cache:"                              \
>>             " 0 - sequential iterator;"                                       \
>>             " 1 - parallel iterator;"                                         \
>>
>> Testing: hotspot_gc_shenandoah
>>
>> Thanks,
>> -Aleksey
>>
> 
> 


More information about the shenandoah-dev mailing list