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


39

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


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


2
是的,那是因为整个文件都在内存中。但是,如果处理多演出文件,则可能无法实现。投资回报率越高,收益越高。如果您需要最后1%,则可以选择size = file size。注意:当您拥有更大的数据集时,词典大小为128mb +会大大增加压缩文件的时间。
Cyber​​nard

Answers:


28

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

这是一个过分的简化

aaaaaaaaaaaaaaaaaaaaaaaa  0001
bbbbbbbbbbbbbbbbbbbbbbbb  0002
alsdjl;asjdfkl;asdfjkljj  0003

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

通常,越大越好。整个词典都保存在内存中,因此您需要比词典大小更多的RAM。

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

通常,32mb绰绰有余,但是如果您压缩多个multi-gig文件,则可以使用更大的文件数。较大的词典通常会使处理速度变慢,但结果导致文件较小。


2
您为字典大小设置的限制大小是多少,还是实际的大小?程序(尤其是7-zip)通常可以智能地确定它们是否真的需要填写您所允许的整个词典吗?
Stan

1
是的,这是一个限制。填满后,他们要么启动新词典,要么智能地推出旧数据。除非要压缩的数据大于字典的大小,否则它将被填充。
cybernard '16

@cybernard“它会被填满”吗?需要明确的是,未填充字典时,字典大小是否保持小于限制?
LonnieBest

1
@LonnieBest是的,字典开始时完全是空的。每这么多的位/字节都会构成一个新的字典条目,直到充满为止。
Cyber​​nard
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.