六种现代压缩算法,一个工具全搞定:7-Zip-Zstandard 实测与选型指南
六种现代压缩算法,一个工具全搞定:7-Zip-Zstandard 实测与选型指南
【免费下载链接】7-Zip-zstd7-Zip with support for Brotli, Fast-LZMA2, Lizard, LZ4, LZ5 and Zstandard项目地址: https://gitcode.com/gh_mirrors/7z/7-Zip-zstd
上周末我把 10GB 的照片文件夹拖进 7-Zip,进度条走了近半小时。而同一份数据,用 7-Zip-Zstandard 内置的 Zstandard 算法重新打包,耗时明显缩短,压缩出来的文件体积还更小。这个开源压缩工具没有发明新格式,它只是把 Zstandard、Brotli、LZ4、LZ5、Lizard、Fast-LZMA2 六种现代算法装进了你熟悉的 7-Zip 界面——想让压缩快一点,还是让体积小一点,这一次由你说了算。
它不是新软件,而是给 7-Zip 换了六个引擎
先澄清一件事:7-Zip-Zstandard 不是来抢 7-Zip 饭碗的新工具,它是 7-Zip 的增强分支。菜单、右键、命令行参数、.7z格式,全部和原版一致;你唯一能察觉的差别,是"压缩方法"下拉框里多出来的几个名字。
用一句话认识这六位新成员:
- Zstandard(zstd):级别 1–22,速度和压缩比权衡得最均衡,日常备份、通用压缩的默认答案。
- Brotli(br):级别 0–11,压缩密度最高,对文本类文件尤其友好,代价是压得慢一些。
- LZ4:级别 1–12,压缩快、解压更快(解压可达每秒数 GB),天生适合实时场景。
- LZ5:级别 1–15,LZ4 的改良版,用稍慢的速度换更好的压缩比,现在已被 Lizard 接力。
- Lizard(liz):级别 10–49 分成四档,从接近 LZ4 的极速档到接近 zstd 的高比档,解压始终飞快。
- Fast-LZMA2(flzma2):级别 1–9,比标准 LZMA2 快 20%–100%,每线程额外内存更少,压缩比略低。
这六种算法不止能在.7z容器里用,.zst、.br、.lz4、.lz5、.liz这类单文件格式也能直接压、直接解,还支持在 ZIP 里使用 zstd 压缩,以及处理 LZ4/Zstd 压缩的 squashfs 镜像。过去你需要分别安装 zstd、brotli、lz4 三套工具,如今一个程序全部覆盖。
选算法之前,先回答这三个问题
六种算法摆在面前,新手最容易卡在"我到底该用哪个"。别急着背参数,先想清楚三件事。
问题一:压缩时间和压缩体积,你更缺哪一个?
- ⚡ 缺时间 → LZ4(级别 1–3)或 LZ5。
- 两者都要、但不极端 → Zstandard(级别 3–8)。
- 缺空间、文件不着急 → Brotli(级别 9–11)。
问题二:这份文件以后会被反复解压吗?
如果你经常要打开它,解压速度就该排第一。Lizard 和 LZ4 的解压都快得离谱,Lizard 的 40–49 档在保持高解压速度的同时还能拿到接近 zlib 的压缩比,很适合"压一次、解很多次"的归档文件。
问题三:收到文件的人,用什么软件打开?
如果对方电脑上只有官方 7-Zip 或系统自带解压,那就老老实实用 LZMA2;如果对方也用 7-Zip-Zstandard,或者文件只归你自己管,那 zstd、brotli 随便挑。兼容性永远排在性能前面。
想快速上手,记住一个起点就够了:默认用-m0=zstd,级别 5。这是多数场景下最稳的组合,之后再按上面的问题慢慢微调。
一场 10GB 的实测:三条命令,三种性格
纸上谈兵不如亲手压一遍。还是以那个 10GB 文件夹为例,三条命令对应三种完全不同的思路:
# 均衡方案:Zstandard 5 级 + 4 线程并行,日常备份首选 7z a 备份.7z -m0=zstd -mx5 -mmt=4 照片/ # 极速方案:LZ4 3 级,适合赶时间或文件马上要二次处理 7z a 快速包.7z -m0=lz4 -mx3 照片/ # 极限体积方案:Brotli 11 级,适合长期归档、几乎不再改动 7z a 珍藏版.7z -m0=brotli -mx11 照片/-m0指定第一压缩方法,-mx是压缩级别,-mmt控制线程数。压缩可执行文件(.exe/.dll)时,完整版会自动套用 BCJ 预处理器,这也是 zstd、lz4 在高级别下对程序文件格外友好的原因。
验证的方法很简单:把三个.7z摆在桌面对比体积和耗时。你很快会发现,所谓"最合适的算法"没有标准答案,只有针对你数据的最优解。
从下载到验证:把新压缩工具装上电脑
Windows 用户有两条路。
已经装了官方 7-Zip 的话,选插件方案最轻量:下载 Codecs.7z,把 zstd-x64.dll、brotli-x64.dll 等文件放进 7-Zip 安装目录下的Codecs文件夹(32 位系统用 x86 版,64 位用 x64 版),重启 7-Zip 即可生效。
想要完整体验,就装完整版安装包:它会替换原 7-Zip,顺带集成资源管理器右键菜单和图形界面,支持/S静默参数,适合批量部署。考虑到下文 FAQ 提到的误报问题,安装时如果杀毒软件拦截,把安装目录加进白名单再装。
Linux/macOS 用户走源码编译:
git clone https://gitcode.com/gh_mirrors/7z/7-Zip-zstd cd 7-Zip-zstd/CPP/7zip/Bundles/Alone2 make -j -f ../../cmpl_gcc.mak编译产物是可以独立运行的7zz命令行程序,无需安装即可使用。想研究实现细节的话,仓库C/目录存放着 zstd、lz4、brotli 等算法的 C 实现,CPP/7zip/是 7-Zip 主程序与集成代码,tests/里还有现成的回归测试可供参考。
装没装对,一行命令见分晓:
7z i输出里能看到 ZSTD、BROTLI、LZ4、LZ5、LIZARD、FLZMA2 等 Codecs 条目,就说明六个引擎全部就位。
装完值得试的三件小事
- ✅直接压解单文件:
7z x 文件.zst或7z a 输出.zst 输入文件,和操作.7z一样顺手。 - ✅换个哈希算法:程序内置 CRC32、XXH64、SHA256、BLAKE3 等 16 种哈希,
7z h 文件 -scrcSHA256就能算,不用再单独装校验工具。 - ✅动一动字典和固实模式:大文件试试
-md=256m增大字典,小文件用-ms=on开启固实模式,往往有意外收获。
三个高频疑问,简短回答
Q:杀毒软件报毒,还能用吗?
绝大多数是误报。项目完全开源,Windows 安装包由 GitHub Actions 在微软的服务器上自动构建,代码全部公开可查。把安装目录加入白名单即可放心使用;遇到误报顺手向杀毒厂商反馈,也是在帮维护者减负。
Q:会破坏我已有的 .7z 文件吗?
不会。.7z格式和 LZMA/LZMA2 完全兼容,旧档案照常打开;新增算法只是多出来的选项,不影响原格式的读写。
Q:内存不够用怎么办?
把级别和字典调低,比如-m0=zstd -md=16m能明显降低内存占用;需要极致省内存时,Fast-LZMA2 的每线程附加内存比标准 LZMA2 少得多。
下一步:两条路线,任选一条出发
新手路线:装完整版 → 用-m0=zstd -mx5压一次日常备份 → 再换 LZ4 压同一份数据对比时间 → 记住口诀"快用 LZ4,均衡用 zstd,极致体积用 brotli"。
进阶路线:读C/zstd/与C/lz4/的源码理解算法差异 → 跑一遍tests/下的回归测试 → 到项目 Issues 里围观讨论,从回答别人的问题开始贡献。
克隆项目请使用:https://gitcode.com/gh_mirrors/7z/7-Zip-zstd。它基于经典的 7-Zip 架构,代码沿用 GNU LGPL 许可,开源且可审计。如果你也受够了"压缩慢""格式少"的老问题,不妨从一次git clone开始,亲手看看这六种算法在你自己数据上的真实表现——毕竟,压缩这件事,只有实测过才知道哪个适合你。
【免费下载链接】7-Zip-zstd7-Zip with support for Brotli, Fast-LZMA2, Lizard, LZ4, LZ5 and Zstandard项目地址: https://gitcode.com/gh_mirrors/7z/7-Zip-zstd
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考