Proposal: jar option to disable compression for selected file extensions
Alan Bateman
alan.bateman at oracle.com
Mon Dec 16 20:21:53 UTC 2024
On 16/12/2024 11:38, Eirik Bjørsnøs wrote:
> Hi,
>
> I would like to socialize the idea of adding a new option to the jar
> tool to disable ZIP compression for selected file extensions.
>
> The jar tool currently supports disabling ZIP compression altogether
> for an archive using the -0 --no-compress options.
>
> However, different file types have different compression
> characteristics. Already compressed files such as JPEG, PNG have
> little to gain by deflate compression, and the compression and
> decompression of such files is mostly a waste of effort. The same is
> true for archive formats such as ZIP, JAR, GZ etc.
>
> I propose that we add a new option, tentatively named
> "--no-compress-ext", which would take a colon-separated list of file
> extensions to disable ZIP compression for:
>
> jar --create --file archive.jar --no-compress-ext=.jpg:.png:.gz -C dir .
>
> This would work similarly to the zip -n option, see zip --help:
>
> -n don't compress these suffixes
>
>
> In context, the jar --help command could look something like this:
>
> -0, --no-compress Store only; use no ZIP compression
> --no-compress-ext=EXT Disable compression for selected file
> extensions,
> e.g.
> "--no-compress-ext=.zip:.jar:.jpg:.png"
>
>
> I specifically do not suggest that we should define any kind of
> default for this option. This should be entirely up to the user.
>
It would be useful to have some data on inflating for store-only vs.
compression for these resources to get some sense on what the benefit
would be.
For your prototype then you could try extending the existing
--no-compress with an optional value. That would make it store only or
store only for entries with specific suffixes.
-Alan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/core-libs-dev/attachments/20241216/e75f4dff/attachment.htm>
More information about the core-libs-dev
mailing list