xref: /freebsd/sys/contrib/zstd/examples/README.md (revision 7648bc9fee8dec6cb3c4941e0165a930fbe8dcb0)
1*2b9c00cbSConrad MeyerZstandard library : usage examples
2*2b9c00cbSConrad Meyer==================================
3*2b9c00cbSConrad Meyer
4*2b9c00cbSConrad Meyer- [Simple compression](simple_compression.c) :
5*2b9c00cbSConrad Meyer  Compress a single file.
6*2b9c00cbSConrad Meyer  Introduces usage of : `ZSTD_compress()`
7*2b9c00cbSConrad Meyer
8*2b9c00cbSConrad Meyer- [Simple decompression](simple_decompression.c) :
9*2b9c00cbSConrad Meyer  Decompress a single file.
10*2b9c00cbSConrad Meyer  Only compatible with simple compression.
11*2b9c00cbSConrad Meyer  Result remains in memory.
12*2b9c00cbSConrad Meyer  Introduces usage of : `ZSTD_decompress()`
13*2b9c00cbSConrad Meyer
14*2b9c00cbSConrad Meyer- [Multiple simple compression](multiple_simple_compression.c) :
15*2b9c00cbSConrad Meyer  Compress multiple files (in simple mode) in a single command line.
16*2b9c00cbSConrad Meyer  Demonstrates memory preservation technique that
17*2b9c00cbSConrad Meyer  minimizes malloc()/free() calls by re-using existing resources.
18*2b9c00cbSConrad Meyer  Introduces usage of : `ZSTD_compressCCtx()`
19*2b9c00cbSConrad Meyer
20*2b9c00cbSConrad Meyer- [Streaming memory usage](streaming_memory_usage.c) :
21*2b9c00cbSConrad Meyer  Provides amount of memory used by streaming context.
22*2b9c00cbSConrad Meyer  Introduces usage of : `ZSTD_sizeof_CStream()`
23*2b9c00cbSConrad Meyer
24*2b9c00cbSConrad Meyer- [Streaming compression](streaming_compression.c) :
25*2b9c00cbSConrad Meyer  Compress a single file.
26*2b9c00cbSConrad Meyer  Introduces usage of : `ZSTD_compressStream()`
27*2b9c00cbSConrad Meyer
28*2b9c00cbSConrad Meyer- [Multiple Streaming compression](multiple_streaming_compression.c) :
29*2b9c00cbSConrad Meyer  Compress multiple files (in streaming mode) in a single command line.
30*2b9c00cbSConrad Meyer  Introduces memory usage preservation technique,
31*2b9c00cbSConrad Meyer  reducing impact of malloc()/free() and memset() by re-using existing resources.
32*2b9c00cbSConrad Meyer
33*2b9c00cbSConrad Meyer- [Streaming decompression](streaming_decompression.c) :
34*2b9c00cbSConrad Meyer  Decompress a single file compressed by zstd.
35*2b9c00cbSConrad Meyer  Compatible with both simple and streaming compression.
36*2b9c00cbSConrad Meyer  Result is sent to stdout.
37*2b9c00cbSConrad Meyer  Introduces usage of : `ZSTD_decompressStream()`
38*2b9c00cbSConrad Meyer
39*2b9c00cbSConrad Meyer- [Dictionary compression](dictionary_compression.c) :
40*2b9c00cbSConrad Meyer  Compress multiple files using the same dictionary.
41*2b9c00cbSConrad Meyer  Introduces usage of : `ZSTD_createCDict()` and `ZSTD_compress_usingCDict()`
42*2b9c00cbSConrad Meyer
43*2b9c00cbSConrad Meyer- [Dictionary decompression](dictionary_decompression.c) :
44*2b9c00cbSConrad Meyer  Decompress multiple files using the same dictionary.
45*2b9c00cbSConrad Meyer  Result remains in memory.
46*2b9c00cbSConrad Meyer  Introduces usage of : `ZSTD_createDDict()` and `ZSTD_decompress_usingDDict()`
47