zoukankan      html  css  js  c++  java
  • 速度之王 — LZ4压缩算法(三)

    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) 速度

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

    (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的优势在于压缩和解压速度,而不是压缩比。

  • 相关阅读:
    Hibernate(十三)迫切内连接fetch
    SQL多表联合查询(交叉连接,内连接,外连接)
    Hibernate入门(十二)离线条件检索
    Java基础IO流(二)字节流小案例
    Java基础IO流(一)
    Hibernate入门(十一)多对多案例
    mysql下载安装及常见问题
    数据库表数据恢复
    linux的自有(内置)服务
    linux下的别名机制
  • 原文地址:https://www.cnblogs.com/archoncap/p/4847671.html
Copyright © 2011-2022 走看看