Page 1 of 1

[Solved] Default compressions' chunk sizes?

Posted: Sun Feb 17, 2019 3:06 pm
by Hakkvild Yashnag-Slayer
Hello,

if I optimize my WIM/ESD file using the --compress or the --solid-compress option but w/o specifying the --chunk-size option, will the compression chunk size be retained like it was set along with the previously selected compression format before the optimization command is executed or the new default chunk size for the target compression format will automatically replace it upon the optimization?

With that is going along the question what actually are default chunk sizes for individual compression formats? From the wimcapture(1) man page I could have only learnt about the LZMS one.

Thank You.

Re: Default compressions' chunk sizes?

Posted: Mon Feb 18, 2019 8:10 pm
by synchronicity
The way it works now is that the non-solid chunk size stays the same as before, unless it's incompatible with the new --compress type in which case it's set to the default for the selected --compress type. The solid chunk size is different: it's always set to the default for the selected --solid-compress type. (The latter is somewhat of an artifact of the file format --- an archive may contain multiple solid resources with different compression types and/or chunk sizes, so there's not necessarily only a single existing solid compression format.)

The default chunk sizes are: 32K for XPRESS, 32K for LZX, 128K for LZMS non-solid or 64M for LZMS solid.

Re: [Solved] Default compressions' chunk sizes?

Posted: Mon Apr 03, 2023 6:08 am
by synchronicity
Just a note for anyone who happens across this old thread:

wimlib v1.14.0 is planned to change 'wimoptimize' slightly to avoid some surprises when converting between solid and non-solid archives. The new behavior is that when 'wimoptimize' changes the WIM's non-solid compression type, the non-solid chunk size will be set back to the default (32K for XPRESS and LZX, 128K for LZMS) unless the --chunk-size option is given. This is in contrast to the previous behavior where e.g. 'wimoptimize --compress=LZX' on a WIM that used LZMS with 128K chunks would keep the chunk size at 128K.