On Mon, 29 Aug 2022 13:07:00 GMT, Aleksey Shipilev <sh...@openjdk.org> 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. > > Aleksey Shipilev has updated the pull request incrementally with one > additional commit since the last revision: > > Indent Marked as reviewed by erikj (Reviewer). make/CreateJmods.gmk line 230: > 228: > 229: # Unless we are creating a very large module, use the small tool JVM > options > 230: JMOD_SMALL_FLAGS= Missed this at first, but we try to stick to := assignment unless we really need the lazy evaluation. Not really an issue here other than consistency. ------------- PR: https://git.openjdk.org/jdk/pull/10062