基准测试
NikPak、RAR 7.00、7-Zip 23.01 和 Info-ZIP 3.0,在同一台机器上对相同文件依次运行。
方法
- Linux x86-64 虚拟机(Intel Xeon,2.8 GHz)。每个工具都绑定到单个 CPU 核心,以单线程运行。
- 最高级别:nikpak -m5、RAR -m5 -s、7-Zip -mx9、ZIP -9。快速级别:nikpak -m2、RAR -m3 -s、7-Zip -mx5、ZIP -6。
- 全部 92 个压缩包都重新解压并与原始文件比对:全部一致。
- 公开测试素材:scikit-image 照片、libxmp 的 MOD 合集、LibreOffice 图库音效、用 TiMidity++ 渲染的音乐、古登堡计划图书、办公文件、Python 标准库和 C 头文件。
最高级别下的压缩包大小
占原始大小的百分比,越低越好。
8 张 BMP 图像
16 个 ProTracker MOD 文件
35 个 WAV 音效(单声道 16 位)
音乐 44.1 kHz 立体声 16 位
音乐 22.05 kHz 单声道 16 位
音乐 22.05 kHz 单声道 8 位
音乐 48 kHz 立体声 24 位
18 本纯文本图书
60 个办公文件
通用数据(11,473 个文件)
最高级别:压缩包大小(字节)
每行中最小的压缩包已高亮显示。
| 测试集 | 原始大小 | NikPak -m5 | RAR 7 -m5 | 7-Zip -mx9 | ZIP -9 |
|---|---|---|---|---|---|
| 8 张 BMP 图像 | 6,987,840 | 3,557,350 | 4,394,310 | 4,195,043 | 4,974,680 |
| 16 个 ProTracker MOD 文件 | 2,252,604 | 1,127,607 | 1,264,245 | 1,166,855 | 1,408,085 |
| 35 个 WAV 音效(单声道 16 位) | 2,991,820 | 1,346,484 | 1,596,971 | 1,484,879 | 1,852,279 |
| 音乐 44.1 kHz 立体声 16 位 | 17,760,408 | 8,731,989 | 10,460,042 | 10,666,922 | 15,225,764 |
| 音乐 22.05 kHz 单声道 16 位 | 4,440,136 | 2,458,867 | 2,797,026 | 2,784,080 | 3,736,722 |
| 音乐 22.05 kHz 单声道 8 位 | 2,220,090 | 606,840 | 725,416 | 642,341 | 836,989 |
| 音乐 48 kHz 立体声 24 位 | 28,996,592 | 18,198,056 | 21,229,465 | 25,542,036 | 26,980,770 |
| 18 本纯文本图书 | 11,793,318 | 2,741,898 | 3,519,622 | 3,259,868 | 4,223,579 |
| 60 个办公文件 | 39,100,915 | 6,887,729 | 11,186,217 | 10,085,779 | 17,399,998 |
| 通用数据(11,473 个文件) | 190,454,632 | 28,175,618 | 33,606,893 | 28,879,398 | 62,198,510 |
快速级别:大小和创建时间
压缩包占原始大小的百分比,以及单核创建时间。每行中最小的压缩包已高亮显示。
| 测试集 | NikPak -m2 | RAR 7 -m3 | 7-Zip -mx5 | ZIP -6 |
|---|---|---|---|---|
| 8 张 BMP 图像 | 54.0 % · 0.39 s | 63.0 % · 2.1 s | 60.1 % · 3.5 s | 71.2 % · 0.35 s |
| 16 个 ProTracker MOD 文件 | 52.4 % · 0.61 s | 56.2 % · 0.43 s | 51.9 % · 0.69 s | 62.7 % · 0.10 s |
| 35 个 WAV 音效(单声道 16 位) | 51.1 % · 0.41 s | 53.6 % · 0.71 s | 49.6 % · 2.0 s | 61.9 % · 0.24 s |
| 音乐 44.1 kHz 立体声 16 位 | 49.2 % · 1.7 s | 59.9 % · 3.6 s | 60.1 % · 14.0 s | 85.7 % · 0.82 s |
| 音乐 22.05 kHz 单声道 16 位 | 55.4 % · 0.58 s | 64.1 % · 0.95 s | 62.7 % · 2.1 s | 84.2 % · 0.22 s |
| 音乐 22.05 kHz 单声道 8 位 | 27.4 % · 0.77 s | 33.3 % · 0.52 s | 28.9 % · 2.1 s | 38.2 % · 0.32 s |
| 音乐 48 kHz 立体声 24 位 | 62.8 % · 2.1 s | 73.6 % · 7.5 s | 88.1 % · 13.5 s | 93.0 % · 1.2 s |
| 18 本纯文本图书 | 35.2 % · 0.11 s | 30.4 % · 5.5 s | 27.7 % · 11.8 s | 36.0 % · 0.89 s |
| 60 个办公文件 | 38.0 % · 0.22 s | 29.5 % · 8.2 s | 26.2 % · 21.9 s | 44.7 % · 1.8 s |
| 通用数据(11,473 个文件) | 25.3 % · 1.7 s | 18.0 % · 48.2 s | 17.0 % · 93.7 s | 32.9 % · 7.3 s |
通用数据详情
190 MB,11,473 个文件:Python 库、C 头文件和文档。
| 工具和级别 | 大小(字节) | 占原始比例 | 创建 | 解压 |
|---|---|---|---|---|
| NikPak -m5 | 28,175,618 | 14.8 % | 154.3 s | 5.6 s |
| 7-Zip -mx9 | 28,879,398 | 15.2 % | 120.9 s | 6.0 s |
| RAR 7 -m5 -s -md256m | 32,350,575 | 17.0 % | 73.6 s | 7.0 s |
| 7-Zip -mx5 | 32,375,802 | 17.0 % | 93.7 s | 4.5 s |
| NikPak -m4 | 33,295,133 | 17.5 % | 37.8 s | 3.3 s |
| RAR 7 -m5 -s | 33,606,893 | 17.6 % | 72.4 s | 6.7 s |
| RAR 7 -m3 -s | 34,236,198 | 18.0 % | 48.2 s | 5.9 s |
| NikPak -m2 | 48,229,284 | 25.3 % | 1.7 s | 0.90 s |
| RAR 7 -m3 | 56,038,351 | 29.4 % | 20.2 s | 6.9 s |
| ZIP -9 | 62,198,510 | 32.7 % | 28.2 s | 6.9 s |
| ZIP -6 | 62,672,415 | 32.9 % | 7.3 s | 5.4 s |
如实解读结果
- NikPak -m5 在每组测试中都最小:比 7-Zip -mx9 小 2.4 % 至 31.7 %,比 RAR 7 -m5 小 10.8 % 至 38.4 %,比 ZIP -9 小 19.9 % 至 60.4 %。
- 录制的音频:在 24 位音乐上,7-Zip 节省 12 %,NikPak 节省 37 %,因为 NAC 编解码器能预测通用压缩器只能靠匹配找到的内容。
- 办公文件比 7-Zip 小 31.7 %,得益于 Deflate 再压缩。-m5 的代价是时间:81 秒对 26 秒。
- 文本小 15.9 %,耗时减半:PPMd 在散文上胜出。它解码和编码一样慢,因此解压需要 2.7 秒而不是 0.2 秒。
- 快速级别 -m2:通用数据只需 1.7 秒,而 7-Zip -mx5 需要 93.7 秒,RAR 需要 48.2 秒,ZIP 需要 7.3 秒。它在文本和源代码上不是最小的,因此默认使用 -m5。
- 解压:通用数据 0.9 秒(-m2)或 5.6 秒(-m5),而 7-Zip 为 6.0 秒,RAR 为 6.7 秒,ZIP 为 6.9 秒。
- 代价:-m5 为单线程,在大型办公文件和源代码集上比 7-Zip 慢。更快的最高级别已在路线图中。
数据来自 NikPak 技术指南(第 11.7 节,NikPak 1.2.0)。用你自己的文件测一测:nikpak mt 会显示每个媒体过滤器的效果,且不写入任何文件。