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 压缩算法、方式 对比
文章图片

【NSIS 压缩算法、方式 对比】

    推荐阅读