mirror of
https://github.com/facebook/zstd.git
synced 2025-09-01 04:42:03 +03:00
update readme for 0.7
This commit is contained in:
20
README.md
20
README.md
@@ -1,4 +1,4 @@
|
|||||||
**Zstd**, short for Zstandard, is a fast lossless compression algorithm, targeting real-time compression scenarios at zlib-level compression ratio.
|
**Zstd**, short for Zstandard, is a fast lossless compression algorithm, targeting real-time compression scenarios at zlib-level and better compression ratios.
|
||||||
|
|
||||||
It is provided as a BSD-license package, hosted on Github.
|
It is provided as a BSD-license package, hosted on Github.
|
||||||
|
|
||||||
@@ -7,7 +7,7 @@ It is provided as a BSD-license package, hosted on Github.
|
|||||||
|master | [](https://travis-ci.org/Cyan4973/zstd) |
|
|master | [](https://travis-ci.org/Cyan4973/zstd) |
|
||||||
|dev | [](https://travis-ci.org/Cyan4973/zstd) |
|
|dev | [](https://travis-ci.org/Cyan4973/zstd) |
|
||||||
|
|
||||||
As a reference, several fast compression algorithms were tested and compared to [zlib] on a Core i7-3930K CPU @ 4.5GHz, using [lzbench], an open-source in-memory benchmark by @inikep compiled with gcc 5.2.1, on the [Silesia compression corpus].
|
As a reference, several fast compression algorithms were tested and compared on a Core i7-3930K CPU @ 4.5GHz, using [lzbench], an open-source in-memory benchmark by @inikep compiled with gcc 5.2.1, with the [Silesia compression corpus].
|
||||||
|
|
||||||
[lzbench]: https://github.com/inikep/lzbench
|
[lzbench]: https://github.com/inikep/lzbench
|
||||||
[Silesia compression corpus]: http://sun.aei.polsl.pl/~sdeor/index.php?page=silesia
|
[Silesia compression corpus]: http://sun.aei.polsl.pl/~sdeor/index.php?page=silesia
|
||||||
@@ -16,7 +16,7 @@ As a reference, several fast compression algorithms were tested and compared to
|
|||||||
|Name | Ratio | C.speed | D.speed |
|
|Name | Ratio | C.speed | D.speed |
|
||||||
|-----------------|-------|--------:|--------:|
|
|-----------------|-------|--------:|--------:|
|
||||||
| | | MB/s | MB/s |
|
| | | MB/s | MB/s |
|
||||||
|**zstd 0.6.0 -1**|**2.877**|**330**| **915** |
|
|**zstd 0.7.0 -1**|**2.877**|**325**| **930** |
|
||||||
| [zlib] 1.2.8 -1 | 2.730 | 95 | 360 |
|
| [zlib] 1.2.8 -1 | 2.730 | 95 | 360 |
|
||||||
| brotli -0 | 2.708 | 220 | 430 |
|
| brotli -0 | 2.708 | 220 | 430 |
|
||||||
| QuickLZ 1.5 | 2.237 | 510 | 605 |
|
| QuickLZ 1.5 | 2.237 | 510 | 605 |
|
||||||
@@ -28,16 +28,16 @@ As a reference, several fast compression algorithms were tested and compared to
|
|||||||
[zlib]:http://www.zlib.net/
|
[zlib]:http://www.zlib.net/
|
||||||
[LZ4]: http://www.lz4.org/
|
[LZ4]: http://www.lz4.org/
|
||||||
|
|
||||||
Zstd can also offer stronger compression ratio at the cost of compression speed.
|
Zstd can also offer stronger compression ratios at the cost of compression speed.
|
||||||
Speed vs Compression trade-off is configurable by small increment. Decompression speed is preserved and remain roughly the same at all settings, a property shared by most LZ compression algorithms, such as [zlib].
|
Speed vs Compression trade-off is configurable by small increment. Decompression speed is preserved and remain roughly the same at all settings, a property shared by most LZ compression algorithms, such as [zlib] or lzma.
|
||||||
|
|
||||||
The following test is run on a Core i7-3930K CPU @ 4.5GHz, using [lzbench], an open-source in-memory benchmark by @inikep compiled with gcc 5.2.1, on the [Silesia compression corpus].
|
The following tests were run on a Core i7-3930K CPU @ 4.5GHz, using [lzbench], an open-source in-memory benchmark by @inikep compiled with gcc 5.2.1, on the [Silesia compression corpus].
|
||||||
|
|
||||||
Compression Speed vs Ratio | Decompression Speed
|
Compression Speed vs Ratio | Decompression Speed
|
||||||
---------------------------|--------------------
|
---------------------------|--------------------
|
||||||
 | 
|
 | 
|
||||||
|
|
||||||
Several algorithms can produce higher compression ratio at slower speed, falling outside of the graph.
|
Several algorithms can produce higher compression ratio but at slower speed, falling outside of the graph.
|
||||||
For a larger picture including very slow modes, [click on this link](images/DCspeed5.png) .
|
For a larger picture including very slow modes, [click on this link](images/DCspeed5.png) .
|
||||||
|
|
||||||
|
|
||||||
@@ -74,8 +74,10 @@ Hence, deploying one dictionary per type of data will provide the greater benefi
|
|||||||
|
|
||||||
### Status
|
### Status
|
||||||
|
|
||||||
Zstd is in development. The internal format evolves to reach better performance. "Final Format" is projected H1 2016, and will be tagged `v1.0`. Zstd offers legacy support, meaning any data compressed by any version >= 0.1 (therefore including current one) remain decodable in the future.
|
Zstd compression format has reached "Final status". It means it is planned to become the official stable zstd format and be tagged `v1.0`. The reason it's not yet tagged `v1.0` is that it currently performs its "validation period", making sure the format holds all its promises and nothing was missed.
|
||||||
The library is also quite robust, able to withstand hazards situations, including invalid inputs. Library reliability has been tested using [Fuzz Testing](https://en.wikipedia.org/wiki/Fuzz_testing), with both [internal tools](programs/fuzzer.c) and [external ones](http://lcamtuf.coredump.cx/afl). Therefore, Zstandard is considered safe for production environments.
|
Zstd library also offers legacy decoder support. Any data compressed by any version >= `v0.1` (hence including current one) remains decodable now and in the future.
|
||||||
|
The library has been validated using strong [fuzzer tests](https://en.wikipedia.org/wiki/Fuzz_testing), including both [internal tools](programs/fuzzer.c) and [external ones](http://lcamtuf.coredump.cx/afl). It's able to withstand hazard situations, including invalid inputs.
|
||||||
|
As a consequence, Zstandard is considered safe for, and is currently used in, production environments.
|
||||||
|
|
||||||
### Branch Policy
|
### Branch Policy
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user