RFR: JDK-8166948: Exploded image too slow to be usable
erik.joelsson at oracle.com
Fri Sep 30 14:06:43 UTC 2016
I missed adding a dependency for the cross compilation case. The change
is in Main.gmk, adding the line:
+ buildtools-modules: create-buildjdk
New webrev: http://cr.openjdk.java.net/~erikj/8166948/webrev.02/
On 2016-09-30 10:03, Erik Joelsson wrote:
> 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/
More information about the build-dev