NSIS 压缩算法、方式 对比

对于安装包打包使用的NSIS,提供了7种压缩方式:

  1. ZLIB
  2. ZLIB(固实)
  3. BZIP2
  4. BZIP2(固实)
  5. LZMA
  6. LZMA(固实)
  7. 极限压缩

在脚本中是:

SetCompressor [/SOLID] [/FINAL] zlib|bzip2|lzma

该命令设置了安装程序压缩文件、数据使用的压缩算法。该命令只能在区段、函数之外或在任何数据被压缩之前使用。不同的压缩方式不能在同一个安装程序里用来压缩不同的文件。建议在脚本的开始处使用这个命令来尽可能避免编译错误。

支持三种压缩方式:ZLIB,BZIP2 和lzma。

ZLIB (默认值) 使用收缩算法,是一个快速简单的方法。默认的压缩级别它消耗大约 300KB 内存。

BZIP2 通常比 ZLIB 的压缩率好,但是稍微慢了一点并且内存的使用也多一点。默认的压缩级别它消耗大约 4MB 内存。

LZMA 是一个压缩率比较理想的新式压缩方式。它的解压速度非常快(在 2GHz 的 CPU 上能达到 10-20MB/s 的速度),但是压缩速度很慢。解压时内存的使用量是字典的大小加上一些 KB,默认值为 8MB。

如果使用了/FINAL ,则后来调用的 SetCompressor 都会被忽略。

如果使用了/SOLID 的话,所有的数据将被压缩在一个区块里,这样可以提高压缩率。

此外还有一个选项 设置字典大小SetCompressorDictSize

字典大小以 MB 为单位。

设置使用 压缩器时的字典大小 (默认为 8MB)。

设置最大32MB,可以提高压缩率。

SetCompressor /SOLID lzma
SetCompressorDictSize 32

下面是我的实际的对比

NSIS 压缩算法、方式 对比_第1张图片

 

你可能感兴趣的:(NSIS)