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