一个压缩软件更新,能让老用户心甘情愿升级的理由不多。7-Zip 26.01 给 Linux 用户递了一个:压缩 7z、XZ 等格式,速度直接快 10%。

大页内存:提速的幕后推手

打开网易新闻 查看精彩图片

这次优化的核心是 Huge Pages(大页内存)。标准内存页是 4KB,7-Zip 现在支持 2MB 的大页。

内存管理里有个 TLB(转译后备缓冲器),专门缓存虚拟地址到物理地址的映射。页越小,TLB 越忙,缺页中断越频繁。换成 2MB 大页,同样数据量的映射条目少了 512 倍,TLB 命中率上去,CPU 不用老等着查内存表。

压缩算法本身就是内存密集型操作,字典匹配、滑动窗口、LZMA 的复杂状态机,每一步都在跟内存打交道。这 10% 不是魔法,是减少内存管理开销的硬收益。

三个新参数:解压缩路径的精细控制

性能之外,26.01 给命令行党补了三个选项,解决输出目录的模糊地带:

-spod:-o 指定的路径就是最终路径,星号不替换,适合写死输出位置的场景。

-spoc:把 -o 路径和归档名拼起来,形成最终目录,自动化脚本里好用。

-spor(默认):星号替换成归档文件名,老用户熟悉的逻辑,保持兼容。

这三个参数没改变压缩本身,但把解压缩的路径行为从"默认如此"变成了"可选可控"。写 CI/CD 流水线的人应该能get到点。

为什么偏偏是 Linux?

Windows 版没提这茬。Linux 内核从早期就暴露 Huge Pages 接口,系统级调优相对透明;Windows 的大页支持存在,但应用层调用门槛和兼容性复杂度更高。

7-Zip 作者 Igor Pavlov 一贯的风格:先解决能干净解决的问题。Linux 用户拿到 10% 提速,Windows 用户……继续等,或者用 WSL 蹭 Linux 版的优化。

冷知识:7-Zip 的 LZMA 算法被用在无数地方——从安装包格式到固件更新,从游戏资源打包到容器镜像层。你电脑里跑着的某个程序,大概率在用它的代码。这次优化最终会通过各种间接路径,流到你看不见的地方。

就像你升级了家里的路由器,访客来连 WiFi 时网速快了,但没人会专门谢你。