〈 Help

Solid Compression

To learn about solid compression, you need to understand first how compression of common ZIP format works.

Compression method of common archive formats (ZIP, LZH, ARJ...)

The following image shows the structure of ZIP format; ZIP and other formats not supporting solid compression, process all the files to be archived as individual files.


Image from Wikipedia

For example, when you archive file1.txt, file2.txt, and file3.txt in file.zip, each of the original files is compressed individually in file.zip as below.



Solid compression

Solid compression, on the other hand, is a method of processing multiple files as a single unit. Processing files as one unit has an advantage of a higher compression ratio if there is similarity between the files.



7Z and RAR formats support both of solid and non-solid compression. TGZ(tar.gz), TBZ(tar.bz2), and TXZ(tar.xz) are some types of TAR formats used together with other compression methods, and they are also considered as solid compression formats.

Disadvantage of solid compression

Though solid compression has the advantage of the high compression ratio, it has its disadvantage as well. When multiple files are compressed in a single solid block, the solid block is one unit and the file located in the middle of the block cannot be decompressed immediately.

As shown in the example below, file2.txt is a very small file. To decompress file2.txt, however, file1.txt located in the front of the block needs to be decompressed first and only then can file2.txt be decompressed.



Compression with multiple solid blocks

To improve the low accessibility to the compressed files in the middle of the single solid block, 7Z and RAR formats support compression of multiple solid blocks.

If a user specifies the size of the solid blocks, the files are processed as multiple solid blocks in the specified size. By this method, both of the high compression ratio and the accessibility to the compressed files can be achieved at the same time.



Bandizip supports specifying the solid block size of 7Z format as below.