RFR: 8293532: Use lighter jmod compression levels in build config
    Aleksey Shipilev 
    shade at openjdk.org
       
    Mon Sep 19 08:55:17 UTC 2022
    
    
  
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/
-------------
Commit messages:
 - Provide --with-jmod-compress configure option
 - Adopt new option format
 - Fix
Changes: https://git.openjdk.org/jdk/pull/10214/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=10214&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8293532
  Stats: 36 lines in 4 files changed: 36 ins; 0 del; 0 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
    
    
More information about the build-dev
mailing list