[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