X-Git-Url: https://wimlib.net/git/?p=wimlib;a=blobdiff_plain;f=README;h=504c2f92b4042537196a2ae197f6f1df9821da4b;hp=80924c3a63ca257519fbd0bc54aa50fd028f5005;hb=bbedc3e1934278c2ff2746b25b688477cffc9d83;hpb=47898041237677686c46ccac6dd88485a63ddf93 diff --git a/README b/README index 80924c3a..504c2f92 100644 --- a/README +++ b/README @@ -1,10 +1,11 @@ INTRODUCTION -This is wimlib version 1.5.0 (August 2013). wimlib is a C library for creating, -modifying, extracting, and mounting files in the Windows Imaging Format (WIM -files). These files are normally created by using the `imagex.exe' utility on -Windows, but wimlib is distributed with a free implementation of ImageX called -"wimlib-imagex" for both UNIX-like systems and Windows. +This is wimlib version 1.5.3 (December 2013). wimlib is a C library for +creating, modifying, extracting, and mounting files in the Windows Imaging +Format (WIM files). These files are normally created using the ImageX +(imagex.exe) or Dism (Dism.exe) utilities on Windows, but wimlib is distributed +with a free implementation of ImageX called "wimlib-imagex" for both UNIX-like +systems and Windows. INSTALLATION @@ -24,7 +25,7 @@ A Windows Imaging (WIM) file is an archive designed primarily for archiving Windows filesystems. However, it can be used on other platforms as well, with some limitations. Like some other archive formats such as ZIP, files in WIM archives may be compressed. WIM files support two compression formats: LZX and -XPRESS. Both are supported by wimlib. +XPRESS *. Both are supported by wimlib. A WIM file consists of one or more "images". Each image is an independent top-level directory structure and is logically separate from all other images in @@ -35,6 +36,10 @@ images. A WIM file may be either stand-alone or split into multiple parts. Split WIMs are read-only and cannot be modified. +* Note: The Windows 8 WIMGAPI apparently adds a third format, LZMS, but it is + not documented and is incompatible with ImageX and Dism. It is unclear if + this new format is actually being used for anything. + IMAGEX IMPLEMENTATION wimlib itself is a C library, and it provides a documented public API (See: @@ -61,28 +66,35 @@ commands and their syntax. For additional documentation: COMPRESSION RATIO wimlib (and wimlib-imagex) can create XPRESS or LZX compressed WIM archives. -Currently, the XPRESS compression ratio is slightly better than that provided by -Microsoft's software, while the LZX compression ratio is approaching that of -Microsoft's software but is not quite there yet. Running time is as good as or -better than Microsoft's software, especially with multithreaded compression, -available in wimlib v1.1.0 and later. - The following tables compare the compression ratio and performance for creating a compressed x86_64 Windows PE image. Note: these timings were done on Windows -7 so that the times would be fully comparable; however, wimlib-imagex may have -even better performance on Linux. +so that the times would be fully comparable; however, wimlib may have even +better performance on other operating systems such as Linux. Timings were done +with 2 CPUs available, both of which automatically are used by wimlib for both +XPRESS and LZX, and also by imagex.exe but apparently only for LZX. Table 1. WIM size XPRESS Compression LZX Compression - wimlib-imagex (v1.4.0): 165,301,379 bytes 155,254,385 bytes - Microsoft imagex.exe: 167,212,939 bytes 149,973,212 bytes + wimlib-imagex (v1.5.3): 207,444,390 bytes 188,106,091 bytes + Microsoft imagex.exe (Windows 7): 209,960,209 bytes 188,224,481 bytes Table 2. Time to create WIM XPRESS Compression LZX Compression - wimlib-imagex (v1.4.0, 2 threads): 18 sec 51 sec - Microsoft imagex.exe: 25 sec 93 sec + wimlib-imagex (v1.5.3): 73 sec 202 sec + Microsoft imagex.exe (Windows 7): 90 sec 149 sec + +The above LZX data are using explicitly specified maximum compression +('--compress=maximum') as of wimlib v1.5.3. If `wimlib-imagex capture' or +`wimlib-imagex capture' is instead run with no '--compress' argument, then a +faster LZX compressor is used; it will produce results in between those given +for XPRESS and LZX above. + +Note: if the absolute maximum (but still compatible) compression ratio is +desired, `wimlib-imagex optimize WIMFILE --recompress --compress-slow' on one of +the above LZX-compressed WIMs produces a WIM of 187,089,943 bytes in about 400 +seconds. NTFS SUPPORT