Snappy(以前称Zippy)是Google基于LZ77的思路用C++语言编写的快速数据压缩与解压程序库,并在2011年开源[1][2]它的目标并非最大压缩率或与其他压缩程序库的兼容性,而是非常高的速度和合理的压缩率。使用一个运行在64位模式下的酷睿i7处理器的单个核心,压缩速度250 MB/s,解压速度500 MB/s。压缩率比gzip低20-100%。[3]

Snappy
原作者Jeff Dean、Sanjay Ghemawat、Steinar H. Gunderson
开发者Google
首次发布2011年3月18日 (2011-03-18)
当前版本1.1.8(2020年1月14日,​4年前​(2020-01-14
源代码库 编辑维基数据链接
编程语言C++
操作系统跨平台
平台可移植
文件大小2 MB
类型数据压缩
许可协议Apache 2(截至1.0.1)/New BSD
网站google.github.io/snappy/

Snappy广泛应用在Google的项目,例如BigTableMapReduce和Google内部RPC系统的压缩数据。它可在开源项目中使用,例如CassandraCouchbase英语Couchbase ServerHadoopLevelDBMongoDBRocksDBLuceneSparkInfluxDB[4]解压缩时会检测压缩流中是否存在错误。Snappy不使用内联汇编并且可移植。

接口

Snappy的分发包括C++和C绑定。第三方提供的绑定和移植包括:[5]

参考资料

  1. ^ Google Snappy–A Fast Compressing Library. InfoQ. [August 1, 2011]. (原始内容存档于2016-03-04). 
  2. ^ Google open sources MapReduce compression.. [2016-07-09]. (原始内容存档于2016-08-22). 
  3. ^ Snappy: A fast compressor/decompressor: Readme. Google Code. [August 1, 2011]. (原始内容存档于2015年9月8日). 
  4. ^ snappy.. [2016-07-09]. (原始内容存档于2016-12-18). 
  5. ^ 存档副本. [2016-07-09]. (原始内容存档于2016-12-18). 
  6. ^ Xilinx. Xilinx. [2020-06-19]. (原始内容存档于2022-03-01). 
  7. ^ InAccel. InAccel. 

外部链接