On Mon, 29 Aug 2022 10:13:29 GMT, Aleksey Shipilev <[email protected]> wrote:
> This is similar to > [JDK-8245168](https://bugs.openjdk.org/browse/JDK-8245168), but the blanket > change to allow all modules be compiled with default options is a net loss. > Instead, we can hand-pick the major offenders (large modules) where running > jmod with normal tool options improves performance. > > I instrumented the jmod to tell me the times it needs to create individual > modules, and hand-picked three top modules that take multiple seconds to run. > > Motivational `make clean-images images` times: > > > # x86_64 Server, release > > # Baseline > real 0m12.040s > user 1m4.872s > sys 0m10.805s > > # Patched > real 0m10.785s ; <--- 1.2s faster > user 1m7.031s > sys 0m10.985s > > # x86_64 Server, fastdebug > > # Baseline > real 0m19.263s > user 2m42.317s > sys 0m18.537s > > # Patched > real 0m17.911s ; <--- 1.1s faster > user 2m52.810s > sys 0m19.092s > > > # x86_64 Server, slowdebug > > # Baseline > real 0m44.799s > user 10m7.106s > sys 0m17.578s > > # Patched > real 0m46.975s ; <--- 2.5 sec slower > user 11m1.155s > sys 0m17.060s > > > I think we can accept the `slowdebug` regression in favor of improvements on > `release` and `fastdebug` that most people seem to be building every day. Marked as reviewed by erikj (Reviewer). make/CreateJmods.gmk line 232: > 230: JMOD_SMALL_FLAGS= > 231: ifeq ($(findstring $(MODULE), java.base java.desktop jdk.localedata), ) > 232: JMOD_SMALL_FLAGS += $(JAVA_TOOL_FLAGS_SMALL) Two space indent please, otherwise looks good. ------------- PR: https://git.openjdk.org/jdk/pull/10062
