各种压缩算法的比较

来源:互联网 发布:淘宝试用报告提交晚了 编辑:程序博客网 时间:2024/06/11 16:27

由于最近的项目中涉及到大数据量的传输,直接导致了客户端的带宽的紧张。特别是有些客户网络不好的情况。

故现在考虑到使用压缩库来降低数据传输的量。

通过别人的介绍,暂时将压缩库的目标定为:quicklz, zlib, snappy.

quicklz: 这个谷歌了吧,号称是世界时最快,压缩比也不错的压缩算法。

snappy: 这个是谷歌开源的压缩算法。大部分网友反映这个库在cpu和压缩率上稍微的都比quicklz低点。

zlib:这个的压缩比非常的高。但是cpu占用会比前两者要多/。

对于我们的数据,测试的情况来看。8M压缩后:

quicklz:6M多 <500ms

snappy 1.5 M  <500ms

zlib:280K. 1.5s

可能我们项目的数据比较特殊,导致了quicklz比snappy压缩比小很多。对于zlib这样出色的压缩比我还是很惊讶的。但是由于要考虑到数据的实时传输,1.5s是不能接受的,但是确实压缩比比较吸引人。我在测试下其他的压缩库,看能不能压缩比小,但是耗用的时间更少。