Shenandoah WB and tableswitch

Aleksey Shipilev shade at redhat.com
Fri Dec 22 13:29:55 UTC 2017


On 12/22/2017 01:44 PM, Roland Westrelin wrote:
> 
> Here is a WIP patch if you want to give it a try:
> 
> http://cr.openjdk.java.net/~roland/shenandoah/predicate%2btableswitch.patch

Very good! Our most targeted benchmark:

# WriteBarrierTableSwitch.separate
Parallel:                  1227 ± 9 ns/op
Shenandoah baseline, -WB:  1663 ± 1 ns/op
Shenandoah patched,  -WB:  1081 ± 5 ns/op
Shenandoah baseline, +WB:  1839 ± 1 ns/op
Shenandoah patched,  +WB:  1169 ± 1 ns/op   // +57% better

...which was the minimized version of:

# ObjectInputStream read test
Parallel:                 10981 ±  32 ns/op
Shenandoah baseline, -WB: 10256 ± 206 ns/op
Shenandoah patched,  -WB: 10589 ± 247 ns/op
Shenandoah baseline, +WB: 12890 ± 414 ns/op
Shenandoah patched,  +WB: 11153 ± 209 ns/op  // +15% better

...which was the minimized version of:

# Serial
Parallel:                  2646 ±  2  ops/s
Shenandoah baseline, -WB:  2591 ± 32  ops/s
Shenandoah patched,  -WB:  2553 ± 33  ops/s
Shenandoah baseline, +WB:  2269 ± 30  ops/s
Shenandoah patched,  +WB:  2355 ± 35  ops/s  // +4% better

-Aleksey



More information about the shenandoah-dev mailing list