]> wimlib.net Git - wimlib/commitdiff
Update NEWS, README, and docs
authorEric Biggers <ebiggers3@gmail.com>
Mon, 16 Feb 2015 05:16:23 +0000 (23:16 -0600)
committerEric Biggers <ebiggers3@gmail.com>
Mon, 16 Feb 2015 06:18:11 +0000 (00:18 -0600)
NEWS
README
doc/man1/wimlib-imagex-capture.1
include/wimlib.h

diff --git a/NEWS b/NEWS
index 14c128b0ba5c02cf2608b8c08713b2bb700dc6a7..1ce8e39467104f00f7e8f956e1ef3858144eb7a3 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,14 +1,32 @@
 Version 1.7.5-BETA:
 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.
 
 
        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:
        On Windows, some error and warning messages have been improved.
 
 Version 1.7.4:
diff --git a/README b/README
index 4baeedc012672c7fc00a61a11adeb078aedef894..966ec45ae07a7ea1d92b56ef1df91037f59de3cf 100644 (file)
--- a/README
+++ b/README
@@ -68,8 +68,8 @@ wimlib (and wimlib-imagex) can create XPRESS, LZX, or LZMS compressed WIM files.
 wimlib includes its own compression codecs and does not use the compression API
 available on some versions of Windows.
 
 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,
 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,
@@ -86,8 +86,8 @@ implementation in WIMGAPI is included.
   | 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                   |
   | 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                   |
   =============================================================================
   | "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                   |
   =============================================================================
@@ -116,8 +116,7 @@ Notes:
 
    [8] '--solid' for wimlib-imagex.  Should be '/compress:recovery' for DISM,
        but only works for /Export-Image, not /Capture-Image.  Compression chunk
 
    [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
 
    [9] '--wimboot' for wimlib-imagex; '/wimboot' for DISM.
        This is really XPRESS compression with 4096 byte chunks, so the same as
@@ -140,7 +139,7 @@ Testing environment:
 
 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
 
 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:
 
      =====================================================
 formats/programs:
 
      =====================================================
@@ -159,15 +158,11 @@ formats/programs:
      | WIM (WIMGAPI, LZX)                 | 651,866      |
      | WIM (wimlib, LZX normal)           | 624,634      |
      | WIM (wimlib, LZX slow)             | 620,728      |
      | 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      |
      | 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 (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      |
      | tar.xz (xz, default)               | 486,916      |
      | tar.xz (xz, -9)                    | 486,904      |
      | 7z  (7-zip, default)               | 484,700      |
index 8c18a277e6b3bbc9b0772aba225a9818921e2ff6..98ff26b142b7bb709e0a475530643533293e758f 100644 (file)
@@ -256,9 +256,10 @@ compression, as these are two different things.
 .TP
 \fB--solid-chunk-size\fR=\fISIZE\fR
 Like \fB--chunk-size\fR, but set the chunk size used in solid resources.  The
 .TP
 \fB--solid-chunk-size\fR=\fISIZE\fR
 Like \fB--chunk-size\fR, but set the chunk size used in solid resources.  The
-default, assuming LZMS compression, is 64MiB (67108864).  This option only has
-an effect when \fB--solid\fR is also specified.  For maximum compatibility with
-the Microsoft implementation, do not use this option.
+default, assuming LZMS compression, is 64MiB (67108864); this requires about
+640MiB of memory per thread.  This option only has an effect when \fB--solid\fR
+is also specified.  For maximum compatibility with the Microsoft implementation,
+do not use this option.
 .TP
 \fB--solid-compress\fR=\fITYPE\fR[:\fILEVEL\fR]
 Like \fB--compress\fR, but set the compression type used in solid resources.
 .TP
 \fB--solid-compress\fR=\fITYPE\fR[:\fILEVEL\fR]
 Like \fB--compress\fR, but set the compression type used in solid resources.
index 47630bcf9ddfe3083d67bbae30dffa866862e24a..9a5e4a3c6b6f3e6928782eb141813f43fc6f749c 100644 (file)
@@ -511,9 +511,11 @@ enum wimlib_compression_type {
         * later.  Also, chunk sizes larger than <c>2^26</c> are not compatible
         * with the Microsoft implementation.
         *
         * later.  Also, chunk sizes larger than <c>2^26</c> are not compatible
         * with the Microsoft implementation.
         *
-        * wimlib's LZMS compressor is currently faster but will usually not
-        * compress as much as the implementation in Microsoft's WIMGAPI
-        * (Windows 8.1).
+        * wimlib's LZMS compressor will, with the default settings, usually
+        * produce a better compression ratio, and work more quickly, than the
+        * implementation in Microsoft's WIMGAPI (as of Windows 8.1).  There is
+        * limited support for non-default compression levels, but compression
+        * will be noticably faster if you choose a level < 35.
         *
         * If using wimlib_create_compressor() to create an LZMS compressor
         * directly, the @p max_block_size parameter may be any positive value
         *
         * If using wimlib_create_compressor() to create an LZMS compressor
         * directly, the @p max_block_size parameter may be any positive value