Version 1.7.5-BETA:
- The performance of LZX compression has been improved by 15-20%. This is
- the default compression mode of wimlib-imagex.
+ Improved the LZX compressor. It is now 15-20% faster than before and
+ provides a slightly better compression ratio.
- The file list printed by 'wimdir' is now sorted by the platform-specific
- case sensitivity setting, rather than always case sensitively. This
- also affects the library function wimlib_iterate_dir_tree().
+ Improved the LZMS compressor. It now provides a compression ratio
+ slightly better than WIMGAPI while still being faster and using slightly
+ less memory.
+
+ The compression chunk size in solid resources, e.g. when capturing or
+ exporting a WIM file using the '--solid' option, now defaults to 64 MiB
+ (67108864 bytes) instead of 32 MiB (33554432 bytes). This provides a
+ better compression ratio and is the same value that WIMGAPI uses. The
+ memory usage is less than 50% higher than wimlib v1.7.4 and is slightly
+ lower than WIMGAPI's memory usage, but if it is too much, it is still
+ possible to choose a lower value, e.g. with the '--solid-chunk-size'
+ option to wimlib-imagex.
+
+ The '--chunk-size' and '--solid-chunk-size' options to wimlib-imagex now
+ accept the 'K', 'M', and 'G' suffixes.
+
+ Files are now sorted by name extension when creating a solid WIM file.
Fixed various issues related to capture/apply of EFS-encrypted files on
Windows.
+ The file list printed by 'wimdir' is now sorted by the platform-specific
+ case sensitivity setting, rather than always case sensitively. This
+ also affects the library function wimlib_iterate_dir_tree().
+
On Windows, some error and warning messages have been improved.
Version 1.7.4:
wimlib includes its own compression codecs and does not use the compression API
available on some versions of Windows.
-I have gradually been improving the compression codecs in wimlib. For XPRESS
-and LZX, they now usually outperform and outcompress the equivalent Microsoft
+I have gradually been improving the compression codecs in wimlib. For all three
+codecs, they now usually outperform and outcompress the equivalent Microsoft
implementations. Although results will vary depending on the data being
compressed, in the table below I present the results for a common use case:
compressing an x86 Windows PE image. Each row displays the compression type,
| LZX (quick) [4] || 130,207,195 in 3.8s | N/A |
| LZX (normal) [5] || 126,522,539 in 10.4s | 127,293,240 in 19.2s |
| LZX (slow) [6] || 126,042,313 in 17.3s | N/A |
- | LZMS (non-solid) [7] || 121,909,792 in 11.9s | N/A |
- | LZMS (solid) [8] || 93,650,936 in 45.0s | 88,771,192 in 109.2 |
+ | LZMS (non-solid) [7] || 116,150,682 in 25.3s | N/A |
+ | LZMS (solid) [8] || 88,107,484 in 61.7s | 88,769,830 in 102.3s |
| "WIMBoot" [9] || 167,023,719 in 3.5s | 169,109,211 in 10.4s |
| "WIMBoot" (slow) [10] || 165,027,583 in 7.9s | N/A |
=============================================================================
[8] '--solid' for wimlib-imagex. Should be '/compress:recovery' for DISM,
but only works for /Export-Image, not /Capture-Image. Compression chunk
- size in solid resources defaults to 33554432 for wimlib, 67108864 for
- DISM.
+ size in solid resources defaults to 67108864 bytes in both cases.
[9] '--wimboot' for wimlib-imagex; '/wimboot' for DISM.
This is really XPRESS compression with 4096 byte chunks, so the same as
The compression ratio provided by wimlib is also competitive with commonly used
archive formats. Below are file sizes that result when the Canterbury corpus is
-compressed with wimlib (v1.7.2), WIMGAPI (Windows 8.1), and some other
+compressed with wimlib (v1.7.5), WIMGAPI (Windows 8.1), and some other
formats/programs:
=====================================================
| WIM (WIMGAPI, LZX) | 651,866 |
| WIM (wimlib, LZX normal) | 624,634 |
| WIM (wimlib, LZX slow) | 620,728 |
- | WIM (wimlib, LZMS non-solid) | 581,960 |
+ | WIM (wimlib, LZMS non-solid) | 581,046 |
| tar.bz2 (bzip, default) | 565,008 |
| tar.bz2 (bzip, -9) | 565,008 |
- | WIM (wimlib, LZX solid) | 527,688 |
- | WIM (wimlib, LZMS solid) | 525,990 |
- | WIM (wimlib, LZMS solid, slow) | 523,728 |
- | WIM (wimlib, LZX solid, slow) | 522,042 |
| WIM (WIMGAPI, LZMS solid) | 521,366 |
- | WIM (wimlib, LZX solid, very slow) | 519,546 |
+ | WIM (wimlib, LZMS solid) | 515,800 |
| tar.xz (xz, default) | 486,916 |
| tar.xz (xz, -9) | 486,904 |
| 7z (7-zip, default) | 484,700 |