Blosc is a high performance compression library for binary data. With its optional shuffle filter and cache-senstitive blocking, it's especially well suited for numeric arrays. In some cases, decompressing uncached data with Blosc can even be faster than a plain memcpy
of the uncompressed contents.
The new blosc
crate provides a convenient Rusty wrapper around the original C API
. Example usage:
extern crate blosc;
fn main() {
let data: Vec<u32> = vec![1, 1, 2, 5, 8, 13, 21, 34, 55, 89, 144];
let ctx = blosc::Context::new();
let compressed = ctx.compress(&data[..]);
let decompressed = decompress(&compressed).unwrap();
assert_eq!(data, decompressed);
}