> 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 ------------- Changes: - all: https://git.openjdk.org/jdk/pull/10214/files - new: https://git.openjdk.org/jdk/pull/10214/files/4f295018..8246c9d3 Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=10214&range=01 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=10214&range=00-01 Stats: 27 lines in 6 files changed: 11 ins; 8 del; 8 mod Patch: https://git.openjdk.org/jdk/pull/10214.diff Fetch: git fetch https://git.openjdk.org/jdk pull/10214/head:pull/10214 PR: https://git.openjdk.org/jdk/pull/10214
