[10] RFR: 8183001: Various inlining improvements
Stefan Karlsson
stefan.karlsson at oracle.com
Wed Jun 28 18:34:47 UTC 2017
Looks good to me.
StefanK
On 2017-06-27 14:51, Claes Redestad wrote:
> Hi,
>
> by moving some small method implementations to their respective header
> file we can help inlining across compilation units, with a resulting
> improvement to startup.
>
> bug: https://bugs.openjdk.java.net/browse/JDK-8183001
> webrev: http://cr.openjdk.java.net/~redestad/8183001/hotspot.01/
>
> The static footprint of the JVM only sees a negligible increase (<2Kb).
>
> perf stat -r 500 <minimal hello world*>:
>
> Baseline:
>
> 40.005884 task-clock (msec) # 1.140 CPUs
> utilized ( +- 0.31% )
> 152 context-switches # 0.004
> M/sec ( +- 0.51% )
> 18 cpu-migrations # 0.460
> K/sec ( +- 0.30% )
> 2,023 page-faults # 0.051
> M/sec ( +- 0.11% )
> 103,130,499 cycles # 2.578
> GHz ( +- 0.16% )
> 97,424,791 instructions # 0.94 insns per
> cycle ( +- 0.02% )
> 18,727,758 branches # 468.125
> M/sec ( +- 0.02% )
> 534,655 branch-misses # 2.85% of all
> branches ( +- 0.07% )
>
> 0.035099175 seconds time
> elapsed ( +- 0.28% )
>
> Patch applied:
>
> 38.705972 task-clock (msec) # 1.144 CPUs
> utilized ( +- 0.32% )
> 152 context-switches # 0.004
> M/sec ( +- 0.52% )
> 18 cpu-migrations # 0.476
> K/sec ( +- 0.29% )
> 2,026 page-faults # 0.052
> M/sec ( +- 0.11% )
> 100,878,811 cycles # 2.606
> GHz ( +- 0.19% )
> 95,987,273 instructions # 0.95 insns per
> cycle ( +- 0.02% )
> 18,461,615 branches # 476.971
> M/sec ( +- 0.02% )
> 532,051 branch-misses # 2.88% of all
> branches ( +- 0.07% )
>
> 0.033836545 seconds time
> elapsed ( +- 0.28% )
>
> Thanks!
>
> /Claes
>
> * "minimal": image consisting only of java.base and other tuning:
> java -Xshare:on -XX:-UsePerfData -XX:CICompilerCount=2
> -XX:TieredStopAtLevel=1 -XX:+UseSerialGC -Xmx16m Hello
More information about the hotspot-runtime-dev
mailing list