New crate: blosc

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);
}
3 Likes