速度之王 — 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的优势在于压缩和解压速度,而不是压缩比。
速度之王 — LZ4压缩算法(三)的更多相关文章
- 速度之王 — LZ4压缩算法(一)
LZ4 (Extremely Fast Compression algorithm) 项目:http://code.google.com/p/lz4/ 作者:Yann Collet 本文作者:zhan ...
- 速度之王 — LZ4压缩算法(二)
LZ4 (Extremely Fast Compression algorithm) 项目:http://code.google.com/p/lz4/ 作者:Yann Collet 本文作者:zhan ...
- lucene底层数据结构——FST,针对field使用列存储,delta encode压缩doc ids数组,LZ4压缩算法
参考: http://www.slideshare.net/lucenerevolution/what-is-inaluceneagrandfinal http://www.slideshare.ne ...
- BITMAP图片压缩算法三则--bilinear、nearest、cubic
原文:http://blog.chinaunix.net/uid-253932-id-3037805.html 工作需要,要弄截图且缩小.截图倒是好说,WIN API可以搞定,但是缩小且尽量不失真,这 ...
- Lucene4.2源码解析之fdt和fdx文件的读写——fdx文件存储一个个的Block,每个Block管理着一批Chunk,通过docID读取到document需要完成Segment、Block、Chunk、document四级查询,引入了LZ4算法对fdt的chunk docs进行了实时压缩/解压
前言 通常在搜索打分完毕后,IndexSearcher会返回一个docID序列,但是仅仅有docID我们是无法看到存储在索引中的document,这时候就需要通过docID来得到完整Document信 ...
- 【Unity3D技术文档翻译】第1.9篇 使用 Unity AssetBundle Browser tool (AssetBundle系列完结)
上一章:[Unity3D技术文档翻译]第1.8篇 AssetBundles 问题及解决方法 本章原文所在章节:[Unity Manual]→[Working in Unity]→[Advanced D ...
- 应用openvpn
本文目录:1.vpn概述 1.1 vpn应用场景 1.2 隧道协议 1.3 SSL VPN和IPSEC VPN2.openvpn搭建client-to-site的vpn 2.1 安装lzo和openv ...
- AssetBundle打包
为热更新打基础(xlua\tolua) 素材.源码链接:http://www.sikiedu.com/course/74/task/1812/show 一.AssetBundle的定义和作用 1,As ...
- FreeNAS-9.10虚拟机测试安装
虚拟机安装NreeNAS-9.10步骤 需求:网络监控磁盘要扩容 测试环境: CPU 内存 系统盘 共享盘 网卡 2核 2G 20G 20G 桥接 系统版本:FreeNAS-9.10 一.配置虚拟机 ...
随机推荐
- 读代码之private construtor
private 构造函数 private修饰构造函数在Singleton设计模式中经常使用.但是今天在读到EntityUtils时,发现这是一个final类.final很好理解:EntityUtils ...
- 关于ActionContext.getContext()的用法
为了避免与Servlet API耦合在一起,方便Action类做单元测试,Struts 2对HttpServletRequest.HttpSession和ServletContext进行了封装,构造了 ...
- NOI题库--砝码称重V2(多重背包2^n拆分)
以前只会写多重背包的原版,渣的不行,为了做此题不得不学习了一下,发现其实也不难,只要理解了方法就好多了(PS:其实和倍增挺像的) 8756:砝码称重V2 总时间限制: 1000ms 内存限制: 655 ...
- 【poj1012】 Joseph
http://poj.org/problem?id=1012 (题目链接) 半年前的考试题..任然清晰的记得那次差10分就AK... 题意 约瑟夫环,有前k个好人,后k个坏人,要求使得后k个坏人先死的 ...
- POJ 1466 Girls and Boys
Girls and Boys Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://poj.org/problem?id=1466 Descripti ...
- POJ1703Find them, Catch them
Find them, Catch them Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 37722 Accepted: ...
- C# ServiceStack.Redis 操作对象List
class Car { public Int32 Id { get; set; } public String Name { get; set; } static void Main(string[] ...
- 登陆后淡入淡出更换rootViewController
- (void)restoreRootViewController:(UIViewController *)rootViewController { typedef void (^Animation) ...
- struts2.3.16所需的基本的jar包
jar包放多了就报Exception什么Unable to load....上网搜了半天也没有能解决的 下面所说的jar包放到WEB-INF/lib以及tomcat/lib中 通过我一个一个添加到to ...
- Mutex和内存可见性
http://ifeve.com/mutex-and-memory-visibility/ POSIX内存可见性规则 IEEE 1003.1-2008定义了XBD 4.11内存同步中的内存可见性规则. ...