发布时间:2022-07-04 文章分类:编程知识 投稿人:王小丽 字号: 默认 | | 超大 打印
snappy的性能测定
要去马尔代夫渡蜜月了,闪人前最后一贴。
方法是用python准备数据,然后用timeit进行测试。虽然因为python框架的干扰,具体时值不是很准。但是用来做数量级对比和计算足够了。原生数据是一个屏幕截图,4M的数据块。
zlib.compress: 0.054105230093
snappy.compress: 0.00374100804329
zlib.decompress: 0.0157685602903
snappy.decompress: 0.0051297039032
从结果分析,zlib是典型的非对称压缩算法,压缩/解压速度比大约是3.5:1。而snappy的压缩和解压速度在同一个数量级上,甚至在具体的数值上,压缩比解压还要快那么一点。以解压速度为基础的对比,snappy大概比zlib快了3倍。而压缩速度上,则是快了14.5倍。
由于python的干扰是在每个的时间上面增加了一定开销,通常会使得速度比更接近1。也就是说,实际上snappy和zlib的速度比比这个还要大。
另外说一句题外话。按照我们测试下来的数值计算,snappy和zlib的压缩比大概在1:2之间。zlib压缩图形资料时的典型比例是0.05,而snappy则是0.1左右。对于熵比较高的数据,zlib大约是0.33左右的时候,snappy是0.5。都是比2倍大小略小。

-推荐-评论2