// readme

m77rip

Fast, memory-safe Rust encoder and decoder for the misa77 compression format.

misa77 is an LZ-based codec optimized for write-once, read-many workloads. It trades compression speed for extremely fast single-threaded decompression (1.5-2x faster than LZ4) via a split-stream layout that separates control tokens from literal data.

m77rip is safe Rust: every crate is #![forbid(unsafe_code)]. See SAFETY.md.

Usage

use m77rip::{compress, decompress};

let input = b"the quick brown fox jumps over the lazy dog, again and again!";
let compressed = compress(input);
let decompressed = decompress(&compressed, input.len()).unwrap();
assert_eq!(&decompressed, input);

For zero-allocation decompression into a caller-provided buffer:

use m77rip::{compress, decompress_into, decompressed_size};

let compressed = compress(b"hello world, hello world!");
let size = decompressed_size(&compressed).unwrap() as usize;
let mut buf = vec![0u8; size];
let written = decompress_into(&compressed, &mut buf).unwrap();
assert_eq!(written, size);

Feature flags…