From 78de28239fa35a0b0ae7f1ab3b4b552d1c1c5d5c Mon Sep 17 00:00:00 2001 From: Yann Collet Date: Fri, 15 Dec 2017 13:26:39 -0800 Subject: [PATCH] minor readme formatting update --- README.md | 47 +++++++++++++++++++------------------ doc/images/zstd_logo86.png | Bin 0 -> 5963 bytes 2 files changed, 24 insertions(+), 23 deletions(-) create mode 100644 doc/images/zstd_logo86.png diff --git a/README.md b/README.md index 99f320c45..50da24ba4 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,15 @@ - __Zstandard__, or `zstd` as short version, is a fast lossless compression algorithm, - targeting real-time compression scenarios at zlib-level and better compression ratios. +

Zstandard

-It is provided as an open-source BSD-licensed **C** library, -and a command line utility producing and decoding `.zst` and `.gz` files. -For other programming languages, -you can consult a list of known ports on [Zstandard homepage](http://www.zstd.net/#other-languages). +__Zstandard__, or `zstd` as short version, is a fast lossless compression algorithm, +targeting real-time compression scenarios at zlib-level and better compression ratios. +It's backed by a very fast entropy stage, provided by [Huff0 and FSE library](https://github.com/Cyan4973/FiniteStateEntropy). -| dev branch status | -|-------------------| -| [![Build Status][travisDevBadge]][travisLink] [![Build status][AppveyorDevBadge]][AppveyorLink] [![Build status][CircleDevBadge]][CircleLink] +The project is provided as an open-source BSD-licensed **C** library, +and a command line utility producing and decoding `.zst`, `.gz`, `.xz` and `.lz4` files. +Should your project require another programming language, +a list of known ports and bindings is provided on [Zstandard homepage](http://www.zstd.net/#other-languages). + +Development branch status : [![Build Status][travisDevBadge]][travisLink] [![Build status][AppveyorDevBadge]][AppveyorLink] [![Build status][CircleDevBadge]][CircleLink] [travisDevBadge]: https://travis-ci.org/facebook/zstd.svg?branch=dev "Continuous Integration test suite" [travisLink]: https://travis-ci.org/facebook/zstd @@ -17,8 +18,9 @@ you can consult a list of known ports on [Zstandard homepage](http://www.zstd.ne [CircleDevBadge]: https://circleci.com/gh/facebook/zstd/tree/dev.svg?style=shield "Short test suite" [CircleLink]: https://circleci.com/gh/facebook/zstd +### Benchmarks -As a reference, several fast compression algorithms were tested and compared +For reference, several fast compression algorithms were tested and compared on a server running Linux Debian (`Linux version 4.8.0-1-amd64`), with a Core i7-6700K CPU @ 4.0GHz, using [lzbench], an open-source in-memory benchmark by @inikep @@ -43,7 +45,9 @@ on the [Silesia compression corpus]. [LZ4]: http://www.lz4.org/ Zstd can also offer stronger compression ratios at the cost of compression speed. -Speed vs Compression trade-off is configurable by small increments. Decompression speed is preserved and remains roughly the same at all settings, a property shared by most LZ compression algorithms, such as [zlib] or lzma. +Speed vs Compression trade-off is configurable by small increments. +Decompression speed is preserved and remains roughly the same at all settings, +a property shared by most LZ compression algorithms, such as [zlib] or lzma. The following tests were run on a server running Linux Debian (`Linux version 4.8.0-1-amd64`) @@ -56,8 +60,8 @@ Compression Speed vs Ratio | Decompression Speed ---------------------------|-------------------- ![Compression Speed vs Ratio](doc/images/Cspeed4.png "Compression Speed vs Ratio") | ![Decompression Speed](doc/images/Dspeed4.png "Decompression Speed") -Several algorithms can produce higher compression ratios, but at slower speeds, falling outside of the graph. -For a larger picture including very slow modes, [click on this link](doc/images/DCspeed5.png). +A few other algorithms can produce higher compression ratios at slower speeds, falling outside of the graph. +For a larger picture including slow modes, [click on this link](doc/images/DCspeed5.png). ### The case for Small Data compression @@ -99,19 +103,16 @@ Dictionary gains are mostly effective in the first few KB. Then, the compression `zstd -D dictionaryName --decompress FILE.zst` -### Build - -Once you have the repository cloned, there are multiple ways provided to build Zstandard. +### Build instructions #### Makefile -If your system is compatible with a standard `make` (or `gmake`) binary generator, -you can simply run it at the root directory. -It will generate `zstd` within root directory. +If your system is compatible with standard `make` (or `gmake`), +invoking `make` in root directory will generate `zstd` cli in root directory. Other available options include: -- `make install` : create and install zstd binary, library and man page -- `make test` : create and run `zstd` and test tools on local platform +- `make install` : create and install zstd cli, library and man pages +- `make check` : create and run `zstd`, tests its behavior on local platform #### cmake @@ -143,8 +144,8 @@ Zstandard is dual-licensed under [BSD](LICENSE) and [GPLv2](COPYING). ### Contributing -The "dev" branch is the one where all contributions will be merged before reaching "master". -If you plan to propose a patch, please commit into the "dev" branch or its own feature branch. +The "dev" branch is the one where all contributions are merged before reaching "master". +If you plan to propose a patch, please commit into the "dev" branch, or its own feature branch. Direct commit to "master" are not permitted. For more information, please read [CONTRIBUTING](CONTRIBUTING.md). diff --git a/doc/images/zstd_logo86.png b/doc/images/zstd_logo86.png new file mode 100644 index 0000000000000000000000000000000000000000..216f228061c460c4e4725785486ebcff38804fbc GIT binary patch literal 5963 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 HN@xNAPrx2g literal 0 HcmV?d00001