On Tue, 20 Sep 2022 15:00:48 GMT, Aleksey Shipilev <[email protected]> wrote:
>> As follow-up to [JDK-8293499](https://bugs.openjdk.org/browse/JDK-8293499), >> JDK build can stick to lighter jmod compression levels to gain build >> performance. >> >> >> # ----- Baseline >> $ time CONF=linux-x86_64-server-release make clean-images images >> real 0m10.762s >> user 1m5.157s >> sys 0m12.370s >> >> $ du -sk build/linux-x86_64-server-release/images/jdk/jmods/ >> 81480 build/linux-x86_64-server-release/images/jdk/jmods/ >> >> $ time CONF=linux-x86_64-server-release make clean-images images >> real 0m9.574s >> user 1m2.644s >> sys 0m12.143s >> >> $ du -sk build/linux-x86_64-server-release/images/jdk/jmods/ >> 85744 build/linux-x86_64-server-release/images/jdk/jmods/ >> >> >> This gets even more substantial if JVM is configured with >> `--with-native-debug-symbols=internal`, in which case `java.base` includes a >> much larger `libjvm.so`: >> >> >> # Baseline >> $ time CONF=linux-x86_64-server-release make clean-images images >> real 0m36.617s >> user 1m30.216s >> sys 0m11.692s >> >> $ du -sk build/linux-x86_64-server-release/images/jdk/jmods/ >> 295428 build/linux-x86_64-server-release/images/jdk/jmods/ >> >> # Patched >> $ time CONF=linux-x86_64-server-release make clean-images images >> real 0m22.183s >> user 1m13.841s >> sys 0m11.657s >> >> $ du -sk build/linux-x86_64-server-release/images/jdk/jmods/ >> 316856 build/linux-x86_64-server-release/images/jdk/jmods/ >> >> >> Users can use `--with-jmod-compress=zip-6` to get the original JMOD >> compression level back. Or, they can give up on compression altogether using >> `--with-jmod-compress=zip-0`, and then reap even more time benefits: >> >> >> $ time CONF=linux-x86_64-server-release make clean-images images >> real 0m6.411s >> user 0m56.145s >> sys 0m12.278s >> >> $ du -sk build/linux-x86_64-server-release/images/jdk/jmods/ >> 183752 build/linux-x86_64-server-release/images/jdk/jmods/ > > Aleksey Shipilev has updated the pull request incrementally with three > additional commits since the last revision: > > - Typos > - GHA should use the zip-1 level across all builds > - Move detection and defaults to configure, select compression based on > release/debug make/autoconf/jdk-options.m4 line 491: > 489: fi > 490: > 491: UTIL_ARG_WITH(NAME: jmod-compress, TYPE: string, The `string` type does not check values. I am not at a computer right now so I can check, but I think you need the type called `literal`. Try greping for VALID_VALUES to see other usages. ------------- PR: https://git.openjdk.org/jdk/pull/10214
