Versions tested: | 13.0 |
Optimal parameters: | - |
Links: | http://stuffit.com Stuffit-9.0 Stuffit-13.0 |
Authors: | Igor Pavlov, Dmitry Shkarin, Allume Systems |
Algorithms: | LZ+HUF, LZ+ARI, BWT+ARI, PPMII |
Notable peformances: | - |
the program website March 28, 2009
- Compress and Expand
- Duplicate Folding for smaller archives
- Expand 7-Zip archives
- Expand segmented Zip archives
- Create EXE archives with remote payload
- Patented 24-bit image compression
- Special TIFF, PNG, GIF & BMP compressors
- Optimized compressors for PDF, MP3 & more
- Re-compress Zips and MS Office docs
- Compress JPEG photos up to 30%
- Create StuffIt, Zip and TAR archives
- Browse archives without expanding
- View thumbnails of archived images
- Convert to and from Zip and Sitx archives
- Expand files with a single keystroke
- Add, delete, and change files in archives
- Search archives by name, date and more
- Expand over 25 compression formats
The program help describes the compression methods:
version 13.0 help pagesCompression Method
Unlike other formats, StuffItX supports a number of different compression methods. In general, each compression method is optimized for particular types of data. The default setting uses a method that attempts to pick the best compressor for each file type you add to the archive, and is recommended for general use. The following compression methods are included:
- None (Method 0): Files are added to the archive without compression.
- Fastest Compression and Decompression (Method 1): Method 1 is optimized for speed. The compression ratio you will achieve with Method 1 is roughly equivalent to zip.
- Best Binary Compression (Method 2): Method 2 uses a compression algorithm that is optimized to provide the best performance when compressing binary data, such as application programs.
- Best Size Speed Trade-off (Method 8): Method 8 is designed to provide a good general use algorithm that attempts to balance compression efficiency with the length of time necessary to complete a compression task.
- Best Text Compression (Method 4): Method 4 provides a compression method optimized to provide the best compression of text based data, such as XML, or HTML.
- Auto-Pick by File Type (Method 5): Method 5 is designed for general, everyday, use. StuffIt automatically selects which of the previously noted compression methods it will use based on the type of files you are adding to your archive. Method 5 will typically yield the best compression results.
[...]
In the matching algorithms (Method 1 & 2 above), levels 1-9 generally correspond to Gzip's compression levels. The higher the number the harder it tries to find a match (more compression, but slower). Levels above 9 use a different, more exhaustive search for previous matches, which gets extra compression, but at the expense of speed. In the prediction algorithm, the level corresponds to how many previous bytes to use when making the prediction.
[...]
File Recompression
The StuffItX file format includes recompressors for making files even smaller. Like the JPEG compression we introduced in 2005 and the Zip recompression introduced in StuffIt 11, these recompressors make files smaller by 'disassembling' the structure of the data type and compressing it more efficienly using the StuffItX format's own compressors. When the item is expanded from the StuffItX archive, the structure for that particular data type is reassembled. Generally this results in output that is identical to the original, but in some instances the output may not be 100% identical. The content itself, and any ancillary data is never lost - just the bit encoding changes sometimes.
A good illustration of this concept is Zip recompression. There are many compression attributes that can be used to create a Zip archive. When recompressing a Zip into a SITx archive, the Zip is opened and its content is compressed into the SITx archive. Upon expansion, the Zip archive is recreated. The recreated Zip archive and the original Zip archive may have different compression attributes and are therefore not identical, but if each of the Zips is expanded the resulting output will be identical.
This same idea also applies to image formats that contain compressed information as part of their structure. When the file structure is not identical, but the content is, it is commonly referred to as "pixel-perfect". Identical output is commonly referred to as "bit-perfect".
StuffIt includes custom recompressors for these file formats:
- JPEG (.jpg, .jpeg) - Always bit-perfect
- JPEG lossless (.jls) - pixel-perfect
- JPEG 2000 (.j2k) - pixel-perfect Note - recompression is only applied when a j2k file is lossless encoded
- Bitmap (.bmp) - Always bit-perfect
- GIF (.gif) - pixel-perfect
- TIFF (.tif, .tiff) - depends on data
- PSD (.psd) - depends on data
- PNG (.png) - pixel-perfect
- PICT (.pict, .pct) - pixel-perfect
- PxM (.pbm, .pgm, .ppm) - depends on data
- MP3 (.mp3) - Always bit-perfect
- Zip (.zip, .cbz) - pixel-perfect
- PDF (.pdf) - depends on data Check each type for which you wish to enable recompression.
The documentation for command line switches is unclear for version 13.0, so the following information was provided by "Skymmer":
My own draft notes for StuffIt:
- -m= 0=None, 1=LZ-Huffman (fast), 2=LZ-Arithmetic (binary), 4=PPM (text) 8=Block-Sort (Size Speed Trade-off), 5=Auto-Pick by File Type
- -l= 1-15 for Huffman, 1-5 for Arithmetic, 0-3 for Block-Sort, 2-16 for PPM (order ?), not for Auto
- -x= 10-25 for Huffman, 10-28 for Arithmetic, 12-23 for Block-Sort, 16-30 for PPM (mem ?) and Auto
- -l is compression level
- -x is memory usage. seems [to be] in 2^x bytes format.
(Have info that should be added here? E-mail.)
9.0 disqualified: no command line interface (despite the manual mentioning it).
13.0 disqualified. The program is not movable, after uninstallation, it gives the following message: 'Failed! This application has failed to start because the application configuration is in correct. Reinstalling the application may fix this problem.'
13.0 cannot create archives from multiple files using '/c': 'Unable to archive files - engine error: OS error - The filename, directory name, or volume label syntax is incorrect.- error code is 123'. Using '/a' the program simply crashes. Therefore TAR must be used.
13.0 SFX option creates 2 files, an exe and an archive. The exe (GUI) requires user interaction.
13.0 decompression needs the following files: 'console_stuffEN.exe, EngineShell.dll, foundation.dll, pthreadVCE.dll, StuffItEngine.dll, Plugins/sitx.dll'.
Warning: once the 13.0 GUI is executed, it launches a heavy background process CmdLine.Exe that can be only stopped using alt+ctrl+del.
Ver | Rating | CPR | DPR | S.E. | R.E. | Ratio | C. kB/s | D. kB/s | ||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
-m=1 -l=1 -x=15 | ||||||||||||
13.0 | program is not movable (q1) | |||||||||||
-m=1 -l=15 -x=15 | ||||||||||||
13.0 | program is not movable (q1) | |||||||||||
-m=2 -l=1 -x=26 | ||||||||||||
13.0 | program is not movable (q1) | |||||||||||
-m=2 -l=5 -x=26 | ||||||||||||
13.0 | program is not movable (q1) | |||||||||||
-m=8 -l=3 -x=23 | ||||||||||||
13.0 | program is not movable (q1) |