Zstandard library : usage examples

  • Simple compression : Compress a single file. Introduces usage of : ZSTD_compress()

  • Simple decompression : Decompress a single file. Only compatible with simple compression. Result remains in memory. Introduces usage of : ZSTD_decompress()

  • Multiple simple compression : Compress multiple files (in simple mode) in a single command line. Demonstrates memory preservation technique that minimizes malloc()/free() calls by re-using existing resources. Introduces usage of : ZSTD_compressCCtx()

  • Streaming memory usage : Provides amount of memory used by streaming context. Introduces usage of : ZSTD_sizeof_CStream()

  • Streaming compression : Compress a single file. Introduces usage of : ZSTD_compressStream()

  • Multiple Streaming compression : Compress multiple files (in streaming mode) in a single command line. Introduces memory usage preservation technique, reducing impact of malloc()/free() and memset() by re-using existing resources.

  • Streaming decompression : Decompress a single file compressed by zstd. Compatible with both simple and streaming compression. Result is sent to stdout. Introduces usage of : ZSTD_decompressStream()

  • Dictionary compression : Compress multiple files using the same dictionary. Introduces usage of : ZSTD_createCDict() and ZSTD_compress_usingCDict()

  • Dictionary decompression : Decompress multiple files using the same dictionary. Result remains in memory. Introduces usage of : ZSTD_createDDict() and ZSTD_decompress_usingDDict()