千金一刻莫空度,老大无成空自伤。这篇文章主要讲述添砖加瓦:snappy无损压缩算法相关的知识,希望能为你提供帮助。
一、简介
【添砖加瓦(snappy无损压缩算法)】Snappy(旧称:Zippy)是Google基于LZ77的思路用C++语言编写的快速数据压缩与解压程序库,并在2011年开源。其目标并非最大压缩率或与其他压缩程序的兼容性,而是非常高的速度和合理的压缩率。使用一个运行在64位模式下的酷睿i7处理器的单个核心,压缩速度250 MB/s,解压速度500 MB/s。压缩率比gzip低20-100%
Snappy广泛应用在Google的项目,例如BigTable、MapReduce和Google内部RPC系统的压缩数据。它可在开源项目中使用,例如Cassandra、Hadoop、LevelDB、MongoDB、RocksDB和Lucene。[4]解压缩时会检测压缩流中是否存在错误。Snappy不使用内联汇编并且可移植。
来源:维基百科
二、安装
1、下载:https://github.com/google/snappy.git
2、安装CMake
3、cd snappy &
&
mkdir build &
&
cd build &
&
cmake ../ &
&
make &
&
make install
三、测试
文章图片
文章图片
#include < iostream> #include < string> #include < snappy.h> using namespace std; int main(int argc,char* argv[]) { string input = "hello world"; string output; for(int i = 0; i < 5; i++) input += input; snappy::Compress(input.data(),input.size(),& output); cout < < "input size: " < < input.size() < < " output size: " < < output.size() < < endl; string output_uncom; snappy::Uncompress(output.data(),output.size(),& output_uncom); if(input == output_uncom) cout < < "same" < < endl; else cout < < "not same" < < endl; return 0; }
View Code编译:g++ test.cpp -o test -lsnappy
文章图片
推荐阅读
- react-native runandroid 报错
- android studio 开发中启动android项目报错sdk版本不一致解决方案
- Android studio 如何查找SHA1码(2.3.3以上适用)
- Android学习清单
- 我的长大app开发教程第一弹(Fragement布局)
- Android音视频通话过程中最小化成悬浮框的实现(类似Android8.0画中画效果)
- Android广播机制
- 用命令行发布android程序
- centos 7 安装appache 服务器