预压缩文件的 Gzip 级别?

预压缩文件的 Gzip 级别?

我了解到,对于动态 gzip css 和 js 文件,最好保留默认级别-1

现在我正在提供静态预压缩的 gzip 文件,我想知道是否最好使用更高级别来创建这些文件。

那么级别-9可以吗?或者我应该使用 4 或 5,因为有些人甚至建议在运行中进行 gzip 压缩?

好吧,这一切都归结为一个问题,即解压一个高度压缩的文件是否与压缩它花费相同的时间。

答案1

对于即时实时压缩,存在一个收益递减的问题;在某种程度上,较小下载量的 CPU 惩罚不会为您和您的用户带来更快下载速度的好处。

也就是说,当需要 20 秒来压缩下载内容时,如果额外压缩 1%,则会减少 2 秒的下载时间,其影响甚至是有害的。

自己计算一下文件,但是这张桌子似乎表明:

对于更高的压缩级别,惩罚大多是一次性的,仅在压缩时产生,因为在最高压缩级别下解压缩 gzip 文件会变得更高效、更快。

对于预压缩文件,尽可能提高压缩率!这样可以节省带宽、下载时间和解压时间。

答案2

已经压缩的文件无法有效地再次压缩,即使它是用低级压缩的。这就是香农所说的。

较低的压缩率并不意味着较低的最终熵,而是较小的编码表,4hat 意味着较低的 CPU 和 RAM 消耗以及较大的生成文件。

很容易确保压缩文件不能进一步缩小。tar如果 tar 不可用,则应将预压缩文件存档(通过 fe)或以零压缩方式压缩/7z-ed/rared。

相关内容