NSIS 压缩算法、方式 对比

本文详细介绍了NSIS安装包制作工具中可用的7种压缩方式,包括ZLIB、BZIP2、LZMA及其固实版本,还有极限压缩。探讨了不同压缩方式的特点,如压缩率、速度和内存使用情况,以及如何在脚本中设置压缩算法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对于安装包打包使用的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

下面是我的实际的对比

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值