|
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