酷兔英语

Google has open sourced Snappy, a compressing/decompressing library that processes data streams at minimum 250MB/s-500MB/s on a single core Intel Core i7 processor.

  

      谷歌开源了Snappy压缩/解压缩算法库,在Intel酷睿i7处理器上,其单核处理数据流的能力达到250M/s-500M/s

  

Snappy, previously known as Zippy, is a compression library used by Google in production internally by many projects including BigTable, MapReduce and RPC. Google says the library and its algorithm has been tuned for speed, and not for compression output size nor compatibility with other similar tools. Snappy has been optimized for 64-bit x86 processors, on a single core Intel Core i7 processor achieving a compression rate of at least 250MB/s and a decompression one of 500MB/s.

      Snappy以前也被称为Zippy,是在谷歌内部生产环境中被许多项目使用的压缩,包括BigTableMapReduceRPC等。谷歌表示算法库针对性能做了调整,而不是针对压缩比或与其他类似工具的兼容性。Snappy同时针对64x86处理器进行了优化,在英特尔酷睿i7处理器单一核心实现了至少250MB/ s的压缩性能和500MB/ s解压缩性能。

The high compression speed is achieved by losing on the compression ratio, the resulting output being 20-100% larger than that of other libraries, Snappy having a compression ratio of "1.5-1.7x for plain text, about 2-4x for HTML, and of course 1.0x for JPEGs, PNGs and other already-compressed data".

  

      如此高的压缩速度是通过降低压缩率来实现的,因此其输出要比其他库大20-100%。Snappy对于纯文本的压缩率为1.5-1.7, 对于HTML2-4,当然了对于JPEGPNG其他已经压缩过的数据压缩率为1.0.

  

Google touts Snappy as robust being "designed not to crash in the face of corrupted or malicious input", and stable after being used to compress petabytes of data in Google's production environment.

  

      谷歌强劲吹捧Snappy的鲁棒性,称其是"即使面对损坏或恶意输入也不会崩溃的设计"并且在谷歌的生产环境中经过了PB级数据压缩的考验而稳定的。

  

Snappy can be used to benchmark itself against a number of other compression libraries - zlib, LZO, LZF, FastLZ and QuickLZ –, if they are installed on the same machine. The tool comes as a C++ library that is linked into the product that is supposed to use it, but there are several other bindings for it: Haskell, Java, Perl, Python, and Ruby.

  

     Snappy可以用来作为其他压缩库的测试基准,比如-zlibLZOLZFFastLZQuickLZ等,如果在同一台计算机上都安装了的话。它作为一个C++库可以很容易的链接到可以应用的产品中去,但也有一些其他的绑定haskelljava, PerlPythonRuby



文章标签:谷歌