Blosc/c-blosc
FreeA blocking, shuffling and loss-less compression library that can be faster than `memcpy()`.
About Blosc/c-blosc
Blosc is a high-performance, lossless meta-compressor library specifically designed for binary data. It employs a blocking technique that divides datasets into blocks small enough to fit into CPU caches, enabling compression and decompression to be performed faster than a direct memory copy (memcpy). Blosc leverages SIMD instructions (SSE2, AVX2) and multi-threaded CPU capabilities to accelerate throughput. It supports multiple codec backends including BloscLZ, LZ4, LZ4HC, Snappy, Zlib, and Zstandard, and includes optimized shuffle and bitshuffle filters for improved compression ratios. The library is BSD-licensed and is distributed by the Blosc Development Team. Note that this is an older version (c-blosc) in maintenance mode; users are directed to the more feature-rich C-Blosc2 for ongoing development.
Key Features
Pros & Cons
- Achieves compression/decompression speeds faster than memcpy in many scenarios
- Highly optimized for modern CPUs with SIMD and multi-threading support
- Flexible codec selection via meta-compressor architecture
- Lossless compression preserves data integrity
- BSD-licensed open source with an active community
- Library is in maintenance mode and will not receive new features
- Users are encouraged to migrate to the more modern C-Blosc2 for active development
- Only supports lossless compression (no lossy options)
- May require tuning of block sizes for optimal performance on different architectures