RFR: 8321620: Optimize JImage decompressors

Mandy Chung mchung at openjdk.org
Fri Jan 12 18:20:23 UTC 2024


On Wed, 8 Nov 2023 11:55:22 GMT, Glavo <duke at openjdk.org> wrote:

> This PR significantly speeds up decompressing resources in Jimage while significantly reducing temporary memory allocations in the process.
> 
> This will improve startup speed for runtime images generated using `jlink --compress 1` and `jlink --compress 2` .
> 
> I generated a runtime image containing javac using `jlink --compress 1 --add-modules jdk.compiler` and tested the time it took to compile a simple HelloWorld program 20 times using `perf stat -r20 javac /dev/shm/HelloWorld.java`, this PR reduces the total time taken from 17830ms to 13598ms (31.12% faster).

The plan [1] is to remove the old compression values `0`, `1`, `2` in the future and only support the zip compression `--compress zip-[0-9]`, i.e. the string sharing plugin will be removed as there isn't any known customer usage of this plugin.   If you are aware of any customer using it, we can reevaluate.

[1] https://bugs.openjdk.org/browse/JDK-8301124?focusedId=14562770&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-14562770

-------------

PR Comment: https://git.openjdk.org/jdk/pull/16556#issuecomment-1889753527


More information about the core-libs-dev mailing list