OLD | NEW |
1 brotli | 1 ### Introduction |
2 ====== | |
3 | 2 |
4 Brotli is a generic-purpose lossless compression algorithm that compresses data | 3 Brotli is a generic-purpose lossless compression algorithm that compresses data |
5 using a combination of a modern variant of the LZ77 algorithm, Huffman coding | 4 using a combination of a modern variant of the LZ77 algorithm, Huffman coding |
6 and 2nd order context modeling, with a compression ratio comparable to the best | 5 and 2nd order context modeling, with a compression ratio comparable to the best |
7 currently available general-purpose compression methods. It is similar in speed | 6 currently available general-purpose compression methods. It is similar in speed |
8 with deflate but offers more dense compression. | 7 with deflate but offers more dense compression. |
9 | 8 |
10 The specification of the Brotli Compressed Data Format is defined in the | 9 The specification of the Brotli Compressed Data Format is defined in [RFC 7932](
https://www.ietf.org/rfc/rfc7932.txt). |
11 following internet draft: | |
12 http://www.ietf.org/id/draft-alakuijala-brotli | |
13 | 10 |
14 Brotli is open-sourced under the MIT License, see the LICENSE file. | 11 Brotli is open-sourced under the MIT License, see the LICENSE file. |
15 | 12 |
16 Brotli mailing list: | 13 Brotli mailing list: |
17 https://groups.google.com/forum/#!forum/brotli | 14 https://groups.google.com/forum/#!forum/brotli |
| 15 |
| 16 [](https:/
/travis-ci.org/google/brotli) |
| 17 |
| 18 ### Build instructions |
| 19 |
| 20 #### Make |
| 21 |
| 22 To build and run tests, simply do: |
| 23 |
| 24 $ ./configure && make |
| 25 |
| 26 If you want to install brotli, use one of the more advanced build systems below. |
| 27 |
| 28 #### Bazel |
| 29 |
| 30 See [Bazel](http://www.bazel.build/) |
| 31 |
| 32 #### CMake |
| 33 |
| 34 The basic commands to build, test and install brotli are: |
| 35 |
| 36 $ mkdir out && cd out && cmake .. && make |
| 37 $ make test |
| 38 $ make install |
| 39 |
| 40 You can use other [CMake](https://cmake.org/) configuration. For example, to |
| 41 build static libraries and use a custom installation directory: |
| 42 |
| 43 $ mkdir out-static && \ |
| 44 cd out-static && \ |
| 45 cmake .. -DBUILD_SHARED_LIBS=0 -DCMAKE_INSTALL_PREFIX='/my/install/dir/' |
| 46 $ make install |
| 47 |
| 48 #### Premake5 |
| 49 |
| 50 See [Premake5](https://premake.github.io/) |
| 51 |
| 52 #### Python |
| 53 |
| 54 The basic commands to build, test, and install the Python module are: |
| 55 |
| 56 $ python setup.py build test |
| 57 $ python setup.py install |
| 58 |
| 59 See the [Python readme](python/README.md) for more details. |
| 60 |
| 61 ### Benchmarks |
| 62 * [Squash Compression Benchmark](https://quixdb.github.io/squash-benchmark/) / [
Unstable Squash Compression Benchmark](https://quixdb.github.io/squash-benchmark
/unstable/) |
| 63 * [Large Text Compression Benchmark](http://mattmahoney.net/dc/text.html) |
| 64 * [Lzturbo Benchmark](https://sites.google.com/site/powturbo/home/benchmark) |
| 65 |
| 66 ### Related projects |
| 67 Independent [decoder](https://github.com/madler/brotli) implementation by Mark A
dler, based entirely on format specification. |
| 68 |
| 69 JavaScript port of brotli [decoder](https://github.com/devongovett/brotli.js). C
ould be used directly via `npm install brotli` |
OLD | NEW |