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