NZ1: A minimalist, dependency-free data compression algorithm
11 days ago
- #performance
- #embedded
- #compression
- NZ1 (NanoZip version 1) is a minimalist, dependency-free data compression algorithm written in pure C99.
- Features universal SIMD support for x86 (AVX2/SSE2) and ARM (NEON) architectures.
- Includes built-in data validation with CRC32 checksums.
- Compact code (~500 lines) with high compression and decompression speeds (up to 2.8 GB/s compress, 4.2 GB/s decompress).
- Configurable sliding window (1KB to 1MB) for different memory constraints.
- Zero dependencies, making it easy to embed in embedded systems and microcontrollers.
- Ideal for applications where low memory footprint, speed, and safety are critical.
- Performance varies by platform, with x86 (AVX2) achieving 2.8 GB/s compression and 4.2 GB/s decompression.
- Memory usage scales with window size, from ~20 KB for 1 KB window to ~1.1 MB for 256 KB window.
- Comparison with other algorithms shows NZ1 balances compression ratio, speed, and code size effectively.
- Released under the MIT license, allowing free use, modification, and distribution.