RFR: 8293020: jmod should not be treated as "small" tool for large modules [v2]
Aleksey Shipilev
shade at openjdk.org
Mon Aug 29 13:07:00 UTC 2022
> 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
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/10062/files
- new: https://git.openjdk.org/jdk/pull/10062/files/3be7680d..50ae27e7
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=10062&range=01
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=10062&range=00-01
Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
Patch: https://git.openjdk.org/jdk/pull/10062.diff
Fetch: git fetch https://git.openjdk.org/jdk pull/10062/head:pull/10062
PR: https://git.openjdk.org/jdk/pull/10062
More information about the build-dev
mailing list