Zstandard (Zstd) compression codec.
Zstd is a fast compression algorithm providing high compression ratios. It was developed by Yann Collet at Facebook and offers configurable compression levels from 1 (fastest) to 22 (smallest).
Options
:level— Compression level, 1-22 (default: 3). Higher levels produce smaller output but take longer.:window_log— Window log size. Controls the maximum reference distance.
Performance Characteristics
- Fast decompression across all compression levels
- Compression speed configurable via level
- Excellent ratio at moderate speeds
- Supports dictionary compression for small data
Examples
iex> {:ok, compressed} = ExCodecs.encode(:zstd, "hello world")
iex> {:ok, decompressed} = ExCodecs.decode(:zstd, compressed)
iex> decompressed
"hello world"
iex> {:ok, compressed} = ExCodecs.encode(:zstd, "hello world", level: 9)
iex> is_binary(compressed)
true
Summary
Functions
Returns codec metadata for the registry.
Decodes (decompresses) Zstd-compressed data.
Encodes (compresses) data using Zstd.