Relates :
|
|
Relates :
|
During module setup, we do a number of transformations from package name strings to the VM internal form, e.g., "java.lang" -> "java/lang". Proof-of-concept patch: http://cr.openjdk.java.net/~redestad/scratch/module_package_names/ By moving this transformation into the VM we improve a number of startup metrics: fewer early JIT compilations triggered, first GC postponed, and a small improvement in wall clock time (as measured on 1 CPU, 8 cores, no active hyperthreads): $ time for i in {1..100} ; do $BASELINE/bin/java Hello > /dev/null ; done real 0m12.856s user 0m18.360s sys 0m2.888s $ time for i in {1..100} ; do $PATCHED/bin/java Hello > /dev/null ; done real 0m12.687s user 0m16.784s sys 0m2.560s