RFR: JDK-8166948: Exploded image too slow to be usable

Erik Joelsson erik.joelsson at oracle.com
Fri Sep 30 08:03:17 UTC 2016


During the build process, we create an exploded image as an interim step 
before linking the real JDK and JRE images. This exploded image is used 
both for running certain build tools during the build but is also used 
by developers when needing a quick build-test cycle since the exploded 
image is much faster to build incrementally.

Lately, with newer Jigsaw features, the exploded image has become very 
slow to run. This is caused by the runtime needing to index all packages 
in all modules at startup. In a linked image, this data is pregenerated, 
but in the exploded case, it's not. There have been reports of this 
taking up to 4-5 seconds on certain configurations.

To fix this, we can add a new build tool that is run on the exploded 
image, which updates the module-info.class files with this package 
index. This will also have the benefit of also speeding up jmod and 
jlink when run during the build.

Alan provided the tool and I have modified the build to use it.

Bug: https://bugs.openjdk.java.net/browse/JDK-8166948

Webrev: http://cr.openjdk.java.net/~erikj/8166948/webrev.01/

/Erik




More information about the build-dev mailing list