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