1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
|
python-snappy
=============
Python library for the snappy compression library from Google.
This library is distributed under the New BSD License
(http://www.opensource.org/licenses/bsd-license.php).
Dependencies
============
* snappy library >= 1.0.2 (or revision 27)
http://code.google.com/p/snappy/
* Supports Python 2.7 and Python 3
Build & Install
===============
Build:
::
python setup.py build
Install:
::
python setup.py install
Or install it from PyPi:
::
pip install python-snappy
Run tests
=========
::
nosetest test_snappy.py
Benchmarks
==========
*snappy vs. zlib*
**Compressing:**
::
%timeit zlib.compress("hola mundo cruel!")
100000 loops, best of 3: 9.64 us per loop
%timeit snappy.compress("hola mundo cruel!")
1000000 loops, best of 3: 849 ns per loop
**Snappy** is **11 times faster** than zlib when compressing
**Uncompressing:**
::
r = snappy.compress("hola mundo cruel!")
%timeit snappy.uncompress(r)
1000000 loops, best of 3: 755 ns per loop
r = zlib.compress("hola mundo cruel!")
%timeit zlib.decompress(r)
1000000 loops, best of 3: 1.11 us per loop
**Snappy** is **twice** as fast as zlib
Commandline usage
=================
You can invoke Python Snappy to compress or decompress files or streams from
the commandline after installation as follows
Compressing and decompressing a file:
::
$ python -m snappy -c uncompressed_file compressed_file.snappy
$ python -m snappy -d compressed_file.snappy uncompressed_file
Compressing and decompressing a stream:
::
$ cat uncompressed_data | python -m snappy -c > compressed_data.snappy
$ cat compressed_data.snappy | python -m snappy -d > uncompressed_data
You can get help by running
::
$ python -m snappy --help
Snappy - compression library from Google (c)
http://code.google.com/p/snappy
|