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,在此项目的整个一生中获得出色的一流的支持
