LZ4:把压缩速度压榨到内存带宽的开源算法
压缩这件事,有时候快就是一切
数据库写日志、消息队列传帧、游戏引擎加载资源——这些场景里,数据根本等不起压缩算法慢慢算。LZ4 就是为这种时刻而生的:它是一个开源的无损压缩算法库,单核压缩速度超过 500 MB/s,解压更是达到每核数 GB/s,通常能直接顶到内存带宽的极限。压缩率上它做了取舍,换来的是低到可以塞进实时路径的延迟。

快,但有分寸
追求压缩率时它也留了后手:LZ4_HC 变体用更多 CPU 时间换更好的压缩比,字典压缩则在 API 和命令行两个层面都支持,处理小文件场景时能显著提升压缩表现。1.10.0 这个「Multicores edition」版本把多线程提上正席,Windows 上默认开启,线程数可用环境变量控制,字典 API 也转正为稳定接口。格式规范公开,帧格式与块格式文档齐全,各语言绑定一应俱全。
无处不在的隐形功臣
它以 BSD-2-Clause 许可开源在 GitHub 上,商业项目集成没有授权负担。也正因如此,LZ4 早已不是「一个压缩工具」这么简单:大量数据库、文件系统、内核模块、归档格式都把它作为内置组件,Linux 发行版的软件仓库里 liblz4 是常客。对开发者来说,它更像基础设施——写代码时调一个库,用户根本感知不到它的存在,只觉得快。
压缩领域的取舍无非是速度与压缩率,LZ4 把天平彻底压向了速度这一端,并用 BSD 协议和十数年的稳定维护证明了自己的位置。需要省带宽、省磁盘时它未必最优,需要省时间时,它几乎总是第一候选。