Compression 归档单个和整个文件组的最佳选择是什么?

Compression 归档单个和整个文件组的最佳选择是什么?,compression,archiving,Compression,Archiving,如果我有N个不同大小的文件。 如果我使用压缩算法,比如ZIP或7ZIP,单独压缩的文件和全部压缩的文件在大小上有什么区别吗 换句话说,如果f(i)是i文件,并且C(f(i))=file compressed为true,则: 有ZIP头要考虑。这将是一些字节数,再加上每个文件的开销。不知道实际数字是多少,但要编一些数字: 100 bytes - zip overhead 10 bytes - per-zipped file data 10 files, each zipped inviduall

如果我有N个不同大小的文件。 如果我使用压缩算法,比如ZIP或7ZIP,单独压缩的文件和全部压缩的文件在大小上有什么区别吗

换句话说,如果f(i)是i文件,并且C(f(i))=file compressed为true,则:


< P>有ZIP头要考虑。这将是一些字节数,再加上每个文件的开销。不知道实际数字是多少,但要编一些数字:

100 bytes - zip overhead
10 bytes - per-zipped file data

10 files, each zipped invidually: 10x100 + 10x10 = 1100 bytes overhead
10 files, all in a single zip file: 1x100 + 10x10 = 200 bytes overhead

这完全忽略了从较大的数据集中创建“更紧密”的压缩字母表的任何效率,即所有10个文件都在一个.zip中。

如果这些文件有一些相似性,那么“可靠”存档可能会有明显的优势,这是将文件按顺序放在一起并压缩为一个大文件,如
.tar.gz
文件,而不是单独压缩每个文件,如
.zip

如果文件较小,则优势更大

我只是在一小组文件上做了一个快速测试,其中
.tar.gz
比具有相同内容的
.zip
文件小15%。在相同的压缩级别上,使用相同的压缩算法对两者进行压缩