[程序员] 压缩的尽头是自指?从 LZMA2、PAQ8PX 到 zstd/ZIP/RAR Quine,我折腾了一遍“自包含压缩包”
最近把之前关于压缩的各种折腾整理成了一篇长文,发在博客上,想搬来论坛和大家聊聊。 一开始只是想给博客离线包找更强的压缩算法:7-Zip 的 LZMA2 已经很能打,但我不信邪,又试了 ZPAQ 、PAQ8PX 、NNCP 、cmix 。结果挺有意思: ZPAQ :一分钟左右把 16MiB 压到约 3.5MiB ,老算法但速度和压缩比还挺平衡; PAQ8PX :压到约 3.1MiB ,本次冠军,但花了一个半小时、吃了 30GiB 内存,解压同样痛苦; NNCP :FFmpeg 作者 Fabrice Bellard 的 Transformer 压缩算法,RTX 4090 上跑了一个半小时,结果 4.1MiB ,还没 LZMA2 高; cmix :测试时压到一半崩溃,内存和耗时也很夸张。 结论大概是: 追求极限压缩比,PAQ8PX 很强;日常使用,LZMA2 的 7-Zip 依然是最稳的选择;想在小文件上再挤一点,ZPAQ 可以试试。 更有意思的是后半篇:继续折腾“自包含压缩包 / Quine 压缩包”——也就是压缩包里包含一份和自身字节完全相同的副本。之前做过 7z Quine ,这次又让
Read original sourceSource record
Research analysis
Source record
Source account: 最近把之前关于压缩的各种折腾整理成了一篇长文,发在博客上,想搬来论坛和大家聊聊。 一开始只是想给博客离线包找更强的压缩算法:7-Zip 的 LZMA2 已经很能打,但我不信邪,又试了 ZPAQ 、PAQ8PX 、NNCP 、cmix 。结果挺有意思: ZPAQ :一分钟左右把 16MiB 压到约 3.5MiB ,老算法但速度和压缩比还挺平衡; PAQ8PX :压到约 3.1MiB ,本次冠军,但花了一个半小时、吃了 30GiB 内存,解压同样痛苦; NNCP :FFmpeg 作者 Fabrice Bellard 的 Transformer 压缩算法,RTX 4090 上跑了一个半小时,结果 4.1MiB ,还没 LZMA2 高; cmix :测试时压到一半崩溃,内存和耗时也很夸张。 结论大概是: 追求极限压缩比,PAQ8PX 很强;日常使用,LZMA2 的 7-Zip 依然是最稳的选择;想在小文件上再挤一点,ZPAQ 可以试试。 更有意思的是后半篇:继续折腾“自包含压缩包 / Quine 压缩包”——也就是压缩包里包含一份和自身字节完全相同的副本。之前做过 7z Quine ,这次又让
Available context
No comparable records or structured measurements are attached.
Research status
This record has not been assigned a sufficiently supported main content category. No commercial or performance conclusion is generated.
Missing evidence
The main event, affected audience and supporting primary source need review.
Next step
Read the original and identify the decision it supports before choosing an analysis framework.