lz4

C/C++ 2025-08-13

lz4非常快速的压缩

lz4是无损压缩算法,每核的压缩速度> 500 mb/s,可通过多核CPU进行扩展。它具有非常快速的解码器,速度为每个核心的多个GB/s,通常在多核系统上达到RAM速度限制。

速度可以动态调整,选择一个“加速度”因子,该因子以更快的速度交易压缩比。另一方面,还提供了高压缩衍生物lz4 _HC,以提高压缩比的CPU时间。所有版本都具有相同的减压速度。

lz4在API和CLI水平下也与字典压缩兼容。尽管只使用了最终的64KB,但它可以摄取任何输入文件作为字典。可以将此功能与Zstandard词典构建器结合使用,以极大地改善小文件的压缩性能。

lz4库是使用BSD 2-CAREASE许可证作为开源软件。

分支 地位
开发

基准

该基准使用LZBENCH,来自Linux 64位上的@InikeP @InikeP(Ubuntu 4.18.0-17)。参考系统使用核心i7-9700k CPU @ 4.9GHz(w/ turbo提升)。基准测试在单线程模式下评估参考硅藻菌群的压缩。

压缩机 因素 压缩 减压
memcpy 1.000 13700 MB/s 13700 MB/s
lz4默认(v1.9.0) 2.101 780 MB/s 4970 MB/s
LZO 2.09 2.108 670 MB/s 860 MB/s
Quicklz 1.5.0 2.238 575 MB/s 780 MB/s
活泼的1.1.4 2.091 565 MB/s 1950 MB/s
Zstandard 1.4.0 -1 2.883 515 MB/s 1380 MB/s
LZF v3.6 2.073 415 MB/s 910 MB/s
Zlib Deflate 1.2.11 -1 2.730 100 MB/s 415 MB/s
lz4 HC -9(v1.9.0) 2.721 41 MB/s 4900 MB/s
Zlib Deflate 1.2.11 -6 3.099 36 MB/s 445 MB/s

安装

 make
make install     # this command may require root permissions

lz4的Makefile支持标准的Makefile约定,包括上演安装,重定向或命令重新定义。它与并行构建( -j# )兼容。

建筑lz4使用VCPKG

您可以使用VCPKG依赖项管理器下载并安装lz4 :

lz4">
 git clone https://git*h*ub.*com/Microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.sh
./vcpkg integrate install
./vcpkg.exe install lz4

Microsoft团队成员和社区贡献者保持最新的VCPKG lz4端口。如果该版本已过时,请在VCPKG存储库上创建问题或拉出请求。

文档

RAW lz4块压缩格式在lz4 _BLOCK_FORMAT中详细介绍。

使用多个块为流程要求压缩任意长的文件或数据流。这些块被组织成一个定义为lz4 _frame_format的框架。 lz4的可互操作版本还必须尊重框架格式。

其他源版

除C参考源外,许多贡献者还以多种语言(Java,c#,Python,Perl,Ruby等)创建了lz4版本。 lz4首页上保留了已知源端口的列表。

包装状态

大多数分布都与软件包管理器捆绑在一起,该软件包管理器允许轻松安装lib lz4库和lz4命令行接口。

特别感谢

  • Takayuki Matsuoka,又名 @t-Mat,在此项目的整个一生中获得出色的一流的支持
下载源码

通过命令行克隆项目:

git clone https://github.com/lz4/lz4.git