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. 

外部連結

編輯