Google Snappy - 一个高速压缩库

2011 年 4 月 07 日

Snappy 已经被 Google 开源,作为一个压缩库,它可以利用单颗 Intel Corei7 处理器内核处理至少每秒 250MB~500MB 的数据流。

Snappy 的前身是 Zippy。虽然只是一个数据压缩库,它却被 Google 用于许多内部项目程,其中就包括 BigTable,MapReduce 和 RPC。Google 宣称它在这个库本身及其算法做了数据处理速度上的优化,作为代价,并没有考虑输出大小以及和其他类似工具的兼容性问题。Snappy 特地为 64 位 x86 处理器做了优化,在单个 Intel Core i7 处理器内核上能够达到至少每秒 250MB 的压缩速率和每秒 500MB 的解压速率。

如果允许损失一些压缩率的话,那么可以达到更高的压缩速度,虽然生成的压缩文件可能会比其他库的要大上 20% 至 100%,但是,相比其他的压缩库,Snappy 却能够在特定的压缩率下拥有惊人的压缩速度,“压缩普通文本文件的速度是其他库的1.5-1.7 倍,HTML 能达到2-4 倍,但是对于JPEG、PNG 以及其他的已压缩的数据,压缩速度不会有明显改善”。

Google 极力赞扬 Snappy 的各种优点,Snappy 从一开始就被“设计为即便遇到损坏或者恶意的输入文件都不会崩溃”,而且被 Google 在生产环境中用于压缩 PB 级的数据。其健壮性和稳定程度可见一斑。

Snappy 也可以用于和其他压缩库 -zlib、LZO、LZF、FastLZ 和 QuickLZ- 做对比测试,前提是你在机器上安装了这些压缩库。Snappy 是一个 C++ 的库,你可以在产品中使用,不过也有一些其他语言的版本,例如 Haskell Java Perl Python Ruby

Snappy 采用新BSD 协议开源。

查看英文原文: Google Snappy–A Fast Compressing Library

2011 年 4 月 07 日 23:1713101
用户头像

发布了 90 篇内容, 共 27.8 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

承兑商支付平台开发搭建,USDT支付系统解决方案

135深圳3055源中瑞8032

架构师训练营第 1 期 week6

张建亮

极客大学架构师训练营

第六周 Doris临时故障时序图

Geek_fabd84

人少钱少需求多的新项目该怎么带?看到这篇我心里有底了!

华为云开发者社区

技术 运维 后端

2020中国系统架构师大会活动回顾:ZEGO实时音视频服务架构实践

ZEGO即构

架构设计 RTC

架构师训练营 - 第 6 周课后作业(1 期)

Pudding

训练营第二周总结

大脸猫

极客大学架构师训练营

C 语言实现一个简单的 web 服务器

C语言与CPP编程

c c++ socket C语言 HTTP

架构师训练营第二周作业

李日盛

架构

技术实践丨PostgreSQL插件之pg_dirtyread "闪回查询"

华为云开发者社区

数据库 后端

架构训练营 - 第6周课后作业 - 学习总结

Pudding

区块链云算力挖矿平台开发公司,云算力软件开发价格

135深圳3055源中瑞8032

区块链钱包开发技术公司,数字钱包APP系统搭建

135深圳3055源中瑞8032

新手初学Java性能之 垃圾收集器

Java架构师迁哥

架构师训练营第 2 周学习总结

菜青虫

极客大学架构师训练营

二、ood原则

Geek_28b526

区块链将与人工智能、物联网、云计算技术形成互补

CECBC区块链专委会

人工智能 物联网

架构师训练营 -week06-总结

大刘

极客大学架构师训练营

区块链交易所源码开发,币币场外交易系统搭建

135深圳3055源中瑞8032

“绝影”机器狗如何利用ModelArts强化学习算法更改导航轨迹

华为云开发者社区

人工智能 机器狗 导航

训练营第二周作业

大脸猫

极客大学架构师训练营

前端组件化

韩向民

一周信创舆情观察(10.19~10.25)

统小信uos

打破内卷化,AppGallery Connect的全生命周期赋能方案

脑极体

Mac常见问题解决方案与使用技巧

jiangling500

Mac

cglib 入门前篇

Rayjun

Java cglib

第二周-作业

Geek_0b0f83

极客大学架构师训练营

架构师训练营第 1 期第 6 周作业

du tiezheng

极客大学架构师训练营

作为打工人,如何正确的选择自动化测试工具(完全指南)

软测小生

软件测试 测试 软件自动化测试 测试工具 测试开发

第2周 框架设计-作业

SuGeek

DDIA 读书笔记(3)数据编码与演化

莫黎

Google Snappy - 一个高速压缩库-InfoQ