[10] RFR: 8183001: Various inlining improvements

Claes Redestad claes.redestad at oracle.com
Tue Jun 27 12:51:43 UTC 2017


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