速度之王 — LZ4压缩算法(三)

时间:2022-01-22 05:23:29

LZ4使用

make / make clean

得到可执行程序:lz4、lz4c

Usage:

./lz4 [arg] [input] [output]

input : a filename

Arguments :

-1 : Fast compression (default)

-9: High compression

-d : decompression (default for .lz4 extension)

-z : force compression

-f : overwrite output without prompting

-h/-H : display help/long help and exit

LZ4的输入只能为文件,不能为文件夹,毕竟一般压缩工具都不提供tar功能的。

-b file1 [file2] 可以用来测量压缩和解压速度。

比较遗憾的是,没有看可以指定线程数的参数,所以接下来没有测试多线程环境下的效果。

LZ4测试

Xeon E5504 @ 2.00GHz,X84_64,8核CPU,只用了一个。

(1) 速度

速度之王 — LZ4压缩算法(三)

可以看到压缩速度和解压速度都很快,而且对日志文件的压缩比相当高。

(2) 压缩比

原始文件为linux-3.6.10.tar,大小为467MB。

用gzip压缩后为linux-3.6.10.tar.gz,大小为101MB,压缩比为21.62%。

用bzip2压缩后为linux-3.6.10.tar.bz2,大小为79MB,压缩比为16.91%。

用lz4压缩后为linux-3.6.10.tar.lz4,大小为166MB,压缩比为35.38%。

用lz4_HC压缩后为linux-3.6.10.tar.lz4,大小为117MB,压缩比为25.03%。

可以看到在压缩比上:lz4 < lz4_HC < gzip < bzip2。

然而在压缩过程中,笔者可以感觉到lz4的压缩时间比其它的要少一个数量级,几乎是瞬间完成:)

所以LZ4的优势在于压缩和解压速度,而不是压缩比。