Snappy
Snappy(以前称Zippy)是Google基于LZ77的思路用C++语言编写的快速数据压缩与解压程序库,并在2011年开源。[1][2]它的目标并非最大压缩率或与其他压缩程序库的兼容性,而是非常高的速度和合理的压缩率。使用一个运行在64位模式下的酷睿i7处理器的单个核心,压缩速度250 MB/s,解压速度500 MB/s。压缩率比gzip低20-100%。[3]
原作者 | Jeff Dean、Sanjay Ghemawat、Steinar H. Gunderson |
---|---|
开发者 | |
首次发布 | 2011年3月18日 |
当前版本 | 1.1.8(2020年1月14日 | )
原始码库 | |
编程语言 | C++ |
操作系统 | 跨平台 |
平台 | 可移植 |
文件大小 | 2 MB |
类型 | 数据压缩 |
许可协议 | Apache 2(截至1.0.1)/New BSD |
网站 | google |
Snappy广泛应用在Google的项目,例如BigTable、MapReduce和Google内部RPC系统的压缩数据。它可在开源项目中使用,例如Cassandra、Couchbase、Hadoop、LevelDB、MongoDB、RocksDB、Lucene、Spark和InfluxDB。[4]解压缩时会检测压缩流中是否存在错误。Snappy不使用内联汇编并且可移植。
接口
编辑Snappy的分发包括C++和C绑定。第三方提供的绑定和移植包括:[5]
参考资料
编辑- ^ Google Snappy–A Fast Compressing Library. InfoQ. [August 1, 2011]. (原始内容存档于2016-03-04).
- ^ Google open sources MapReduce compression.. [2016-07-09]. (原始内容存档于2016-08-22).
- ^ Snappy: A fast compressor/decompressor: Readme. Google Code. [August 1, 2011]. (原始内容存档于2015年9月8日).
- ^ snappy.. [2016-07-09]. (原始内容存档于2016-12-18).
- ^ 存档副本. [2016-07-09]. (原始内容存档于2016-12-18).
- ^ Xilinx. Xilinx. [2020-06-19]. (原始内容存档于2022-03-01).
- ^ InAccel. InAccel.