“字典大小”如何影响压缩?

lag*_*lex 53 compression

我知道更大的尺寸可能会导致更好的压缩比,反之亦然。但是有没有一种方法可以让我做出更好的决定?..因为有很多选择 7zip


到目前为止,我已经注意到字典大小?文件大小产生最佳压缩。 文件大小
这里 ?8mb 文件test.avi对于大于 8mb 的所有字典大小具有相同的压缩率。然后它开始下降。

cyb*_*ard 38

可重复项存储在字典中,并指定一个代码作为替代。

这是一个过度简化

aaaaaaaaaaaaaaaaaaaaaaaa  0001
bbbbbbbbbbbbbbbbbbbbbbbb  0002
alsdjl;asjdfkl;asdfjkljj  0003
Run Code Online (Sandbox Code Playgroud)

它只是将代码放在它的位置而不是整行。字典越大,它可以处理的代码越多。通常,当字典变满时,它会立即开始一个新的。当它开始一个新的时,它是空白的,新的代码被分配给检测到的模式。

一般来说,越大越好。整个字典都保存在内存中,因此您需要比字典大小更多的 RAM。

字典大小取决于数据的可压缩性、文件数量、大小和整体大小。

通常,32mb 已经绰绰有余,但如果您压缩大量多演出文件,则可以使用更高的数字。较大的字典通常会使过程变慢,但结果文件较小。

  • 您为字典大小设置限制的大小还是实际大小?程序(尤其是 7-zip)是否通常会智能地确定它们是否真的需要填充您允许的整个字典? (2认同)

小智 9

压缩取决于您要压缩的内容以及您拥有的 RAM 量。图片和视频等预压缩文件比文本等文件或存在大量非常相似或相同文件的目录更难压缩。

我有一个个人 php 网站 (xampp) 的六个备份目录,其中有一些细微的差别。每个主目录大约有600M到1Gig左右。所有目录总计 6gig,同样,所有目录都包含类似的文件。

单个包中所有目录的字典大小到压缩大小。

4M dictionary = 1,687,995KB
24M dictionary = 1,685,337KB
128M dictionary = 1,685,336KB
512M dictionary = 1,685,336KB (no change from 128) 
1024M dictionary = 315,224KB 
Run Code Online (Sandbox Code Playgroud)

由于每个目录大致相同,并且都大于 512M,因此 1024M 字典在这种情况下似乎是最好的。

使用相同的 1024M 字典大小压缩 6gig 的不同音乐文件夹,结果压缩率仅为 96%。5.76 gigs,而不是 6gig。视频压缩的最佳方法是有损压缩,即使用程序来转换视频。尝试将比特率降低到您不会注意到的程度,或者可以接受的视频质量。Handbrake 是一个不错的视频工具,但有很多。VLC 还能够使用转换选项进行视频压缩。这两个程序都可以免费使用。