X-Git-Url: https://wimlib.net/git/?p=wimlib;a=blobdiff_plain;f=README;h=f69e07eef563abf03f638d8fddc4bc5b409e2ebd;hp=a7a820839fcd7c4b42319f2595d5618ff911ee17;hb=de567a8c5dcd0910a8c762d75bf11b9c9683396c;hpb=3e95cf8fa617fdaa37284dd1ab5848bbf9868256 diff --git a/README b/README index a7a82083..f69e07ee 100644 --- a/README +++ b/README @@ -1,6 +1,6 @@ INTRODUCTION -This is wimlib version 1.7.4-BETA (December 2014). wimlib is a C library for +This is wimlib version 1.8.0-BETA (February 2015). wimlib is a C library for creating, modifying, extracting, and mounting files in the Windows Imaging Format (WIM files). wimlib and its command-line frontend 'wimlib-imagex' provide a free and cross-platform alternative to Microsoft's WIMGAPI, ImageX, @@ -65,31 +65,26 @@ commands and their syntax. For additional documentation: COMPRESSION RATIO 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. - -I have gradually been improving the compression codecs in wimlib. For XPRESS -and LZX, 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, -the size of the resulting WIM file in bytes, and how many seconds it took to -create the file. When applicable, the results with the equivalent Microsoft -implementation in WIMGAPI is included. +wimlib's compression codecs usually outperform and outcompress their Microsoft +equivalents. Although results will vary depending on the data being compressed, +the table below shows results for a common use case: creating an x86 Windows PE +image ("boot.wim"). Each row shows the compression type, the size of the +resulting WIM file in bytes, and the time it took to create the file. When +possible, the results with the Microsoft equivalent are included. ============================================================================= - | Compression || wimlib (v1.7.2) | WIMGAPI (Windows 8.1) | + | Compression || wimlib (v1.8.0) | WIMGAPI (Windows 8.1) | ============================================================================= - | None [1] || 361,314,224 in 3.4s | 361,315,338 in 4.5s | - | XPRESS [2] || 138,380,918 in 4.2s | 140,457,487 in 6.3s | - | XPRESS (slow) [3] || 135,269,627 in 11.1s | N/A | - | LZX (quick) [4] || 130,332,081 in 4.7s | N/A | - | LZX (normal) [5] || 126,714,941 in 12.9s | 127,293,240 in 19.2s | - | LZX (slow) [6] || 126,150,725 in 23.4s | N/A | - | LZMS (non-solid) [7] || 121,909,750 in 13.3s | N/A | - | LZMS (solid) [8] || 93,650,894 in 44.4s | 88,771,192 in 109.2 | - | "WIMBoot" [9] || 167,095,369 in 6.4s | 169,109,650 in 10.7s | - | "WIMBoot" (slow) [10] || 165,195,668 in 9.5s | N/A | + | None [1] || 361,314,224 in 2.4s | 361,315,338 in 4.5s | + | XPRESS [2] || 138,218,750 in 3.0s | 140,457,436 in 6.0s | + | XPRESS (slow) [3] || 135,173,511 in 8.9s | 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] || 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 | ============================================================================= Notes: @@ -116,7 +111,7 @@ Notes: [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 blocks 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 @@ -139,7 +134,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 -compressed with wimlib (v1.7.2), WIMGAPI (Windows 8.1), and some other +compressed with wimlib (v1.8.0), WIMGAPI (Windows 8.1), and some other formats/programs: ===================================================== @@ -149,24 +144,20 @@ formats/programs: | WIM (WIMGAPI, None) | 2,814,254 | | WIM (wimlib, None) | 2,814,216 | | WIM (WIMGAPI, XPRESS) | 825,536 | - | WIM (wimlib, XPRESS) | 790,016 | + | WIM (wimlib, XPRESS) | 789,296 | | tar.gz (gzip, default) | 738,796 | | ZIP (Info-ZIP, default) | 735,334 | | tar.gz (gzip, -9) | 733,971 | | ZIP (Info-ZIP, -9) | 732,297 | - | WIM (wimlib, LZX quick) | 704,006 | + | WIM (wimlib, LZX quick) | 690,110 | | WIM (WIMGAPI, LZX) | 651,866 | - | WIM (wimlib, LZX normal) | 632,614 | - | WIM (wimlib, LZX slow) | 625,050 | - | WIM (wimlib, LZMS non-solid) | 581,960 | + | WIM (wimlib, LZX normal) | 624,634 | + | WIM (wimlib, LZX slow) | 620,728 | + | WIM (wimlib, LZMS non-solid) | 581,046 | | tar.bz2 (bzip, default) | 565,008 | | tar.bz2 (bzip, -9) | 565,008 | - | WIM (wimlib, LZX solid) | 532,700 | - | WIM (wimlib, LZMS solid) | 525,990 | - | WIM (wimlib, LZX solid, slow) | 525,140 | - | WIM (wimlib, LZMS solid, slow) | 523,728 | | WIM (WIMGAPI, LZMS solid) | 521,366 | - | WIM (wimlib, LZX solid, very slow) | 520,832 | + | WIM (wimlib, LZMS solid) | 515,800 | | tar.xz (xz, default) | 486,916 | | tar.xz (xz, -9) | 486,904 | | 7z (7-zip, default) | 484,700 | @@ -327,7 +318,7 @@ extensions are used in the code. The WIM file format is partially specified in a document that can be found in the Microsoft Download Center. However, this document really only provides an overview of the format and is not a formal specification. It also does not -cover later extensions of the format, such as solid blocks. +cover later extensions of the format, such as solid resources. With regards to the supported compression formats: @@ -336,7 +327,7 @@ With regards to the supported compression formats: neither of which is completely applicable to its use in the WIM format, and the first of which contains multiple errors. - There does not seem to be any official documentation for LZMS, so my comments - and code in src/lzms-decompress.c may in fact be the best documentation + and code in src/lzms_decompress.c may in fact be the best documentation available for this particular compression format. The algorithms used by wimlib's compression and decompression codecs are