Skip to content

Examples Overview ​

The examples/ directory contains complete, standalone example programs demonstrating real-world patterns with lz4.zig.

Each example can be executed directly using the Zig build system:

bash
# Run a specific example
zig build run-compress_file
zig build run-streaming_compression
zig build run-reusable_context
zig build run-dictionary_compression
zig build run-error_handling
zig build run-format_introspection
zig build run-bit_level
zig build run-io_pipeline

# Run all registered examples sequentially
zig build run-all-examples

Example Directory ​

ExampleCommandDescription
Basic Compressionzig build run-alloc_operationsOne-shot frame compression and decompression with allocator.
Caller Bufferszig build run-caller_bufferZero-allocation compression & decompression into pre-allocated memory.
Compression Levelszig build run-compression_levelsBenchmarking Fast acceleration against High-Compression (HC levels 2..12).
File Compressionzig build run-compress_fileCompressing and decompressing disk files with std.Io.
Streaming Compressionzig build run-streaming_compressionExplicit std.Io streaming, one-shot APIs, and StreamingCompressor.
Streaming Decompressionzig build run-streaming_decompressionExplicit std.Io streaming, one-shot APIs, and chunked pull decompression.
Reusable Contextzig build run-reusable_contextAmortizing allocation costs across thousands of operations with reset().
Dictionary Compressionzig build run-dictionary_compressionCompressing small, repetitive JSON and metrics payloads using pre-shared dictionaries.
Error Handlingzig build run-error_handlingRobust handling of corrupted frames, invalid tokens, and checksum errors.
Format Introspectionzig build run-format_introspectionInspecting frame headers, magic numbers, block size descriptors, and skippable frames.
Bit-Level & Token Encodingzig build run-bit_levelUnderstanding LZ4 token structure, byte-level packing, and variable-length integer extensions.
I/O Pipelinezig build run-io_pipelineIntegrating with Zig 0.17 std.Io.Reader and std.Io.Writer.

Released under the MIT License.