在“破解PM访谈”中,Lewis Lin建议在压缩文件之前将它们连接起来,以减少gmail的存储空间,我想知道为什么这样做比只压缩文件效果更好。
发布于 2018-01-09 02:59:21
到目前为止,压缩器都使用数据流中的信息来压缩后面的数据。它们通常有一个窗口,在该窗口内压缩器可以获得历史记录,大小从10KB到几百MB不等。它们拥有的历史越多,后续数据的建模就越好(假设流中存在某种程度的相似性),因此压缩效果越好。
因此,压缩器在压缩非常短的文件方面特别差。但是,如果您连接类似的短文件,您将获得比单个短文件更好的压缩效果。例如,源代码往往是许多短文件的集合,但它们之间有很多相似之处。您可以看到将它们压缩在一起而不是单独压缩的显著好处。
.zip格式单独压缩所有文件,而.tar.gz格式将归档作为一个整体进行压缩,因此可以有效地连接在一起(中间有一些小标题)。早些时候就观察到,尽管它们都使用相同的压缩数据格式(deflate),但它们在源文件归档上的压缩效率之间存在显著差异。其他压缩器,如zip和通常单独压缩文件,也将具有连接的“实体”压缩模式,如RAR和7z。这就失去了轻松修改或删除单个条目的能力,但这是一种不常见的用例。更常见的情况是,档案只是作为一个整体构建,然后完全提取出来。
https://stackoverflow.com/questions/48145313
复制相似问题