Snappy 高速压缩解压缩开发包

开源网站开源项目 24-05-15 14:03:49

Snappy是一个压缩/解压缩库。它不旨在最大程度地压缩,也不旨在与任何其他压缩库兼容。相反,它的目标是非常高的速度和合理的压缩。例如,与zlib的最快模式相比,Snappy对于大多数输入而言要快一个数量级,但是生成的压缩文件要大20%至100%。(有关更多信息,请参见下面的“性能”。)

Snappy具有以下属性:

快速:压缩速度达到250 MB /秒及以上,无需汇编代码。请参阅下面的“性能”。

稳定:在过去的几年中,Snappy已在Google的生产环境中压缩和解压缩了PB级的数据。Snappy位流格式是稳定的,不会在版本之间更改。

稳健:Snappy解压缩器的设计不会在遭到损坏或恶意输入时崩溃。

免费和开源软件:Snappy已获得BSD类型许可证的许可。有关更多信息,请参见随附的COPYING文件。

Snappy在某些Google演示文稿等中以前被称为“ Zippy”。

性能

Snappy的目的是要快。在64位模式的Core i7处理器的单核上,它以约250 MB / sec或更高的速度压缩,并以约500 MB / sec或更高的速度解压缩。(这些数字是我们基准测试套件中输入速度最慢的数字;其他数字则更快。)在我们的测试中,Snappy通常比同级别的算法(例如LZO,LZF,QuickLZ等)更快,同时可以达到可比的压缩比。

对于纯文本,典型的压缩率(基于基准套件)约为1.5-1.7倍,对于HTML约为2-4倍,对于JPEG,PNG和其他已经压缩的数据当然为1.0倍。zlib最快模式下的相似数字分别为2.6-2.8倍,3-7倍和1.0倍。尽管通常以速度为代价,但是更复杂的算法能够实现更高的压缩率。当然,压缩比将随着输入而显着变化。

尽管Snappy应该相当轻便,但它主要针对64位x86兼容处理器进行了优化,并且在其他环境中运行速度可能较慢。特别是:

Snappy在多个地方使用64位操作来一次处理更多的数据。

Snappy假定未对齐的32位和64位负载,并且存储很便宜。在某些平台上,必须使用单字节加载和存储来模拟它们,这要慢得多。

Snappy始终假定为低端字节序,如果在大端字节序平台上运行,则需要在多个位置进行字节交换数据。

经验表明,即使是经过大量调优的代码也可以得到改进。无论是针对64位x86还是其他平台的性能优化,当然都是最受欢迎的。请参阅下面的“联系”。

示例代码:

snappy::Compress(input.data(),input.size(),&output);

[Snappy 高速压缩解压缩开发包]相关推荐
vex JavaScript 对话框

vex JavaScript 对话框

vex 是一个现代的对话框库,具有很高的可配置性,易于样式化,并且不受干扰。具有清晰简单的API,可在移……...

MATLAB 数学软件

MATLAB 数学软件

MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发……...

cocker C 语言实现的容器引擎

cocker C 语言实现的容器引擎

1. 概述1.1. cocker是什么 cocker是我个人用C语言完全自研的容器引擎(对标Docker),主要解决如下工作场……...

xsw 幻灯片演示工具

xsw 幻灯片演示工具

xsw 是一个Linux下的幻灯片演示工具,通过简单的脚本语言来实现幻灯片的内容制作。 例如文件 hello.xsw:……...

今日开源
  1. ZYS 高性能服务框架

    ZYS 高性能服务框架

    核心特性 1.基于swoole提供分布式服务器通讯服务2.基于thrift提供rpc远程调用服务3.基于HTML5提供在线网络直播平台服务4.基于swoole提供同步异步数据库连接池服务5.基于swoole提供异步任务服务器6.基于vmstat提供……

    开源软件 2024-06-30

  2. Knative 基于 Kubernetes 与 Istio 的 Serverless 架构方案

    Knative 基于 Kubernetes 与 Istio 的 Serverless 架构方案

    Knative(发音为 kay-nay-tiv)是谷歌开源的一套 Serverless 架构方案,它扩展了 Kubernetes,提供了一组中间件,提高了构建可在本地、云和第三方数据中心等地方运行的现代化、以源为中心且基于容器的应用的能力。……

    开源软件 2024-06-30

  3. Untangle Linux安全网关模块

    Untangle Linux安全网关模块

    Untangle Gateway 是一个Linux下开源的的网关模块,支持垃圾过滤、URL阻截、反病毒蠕虫等多种功能,详细的屏幕截图请看下面链接: http://untangle.com/index.php?option=com_content&task=view&id=242&am……

    开源软件 2024-06-30

返回顶部小火箭