Fast, memory-safe Rust codec for the misa77 compression format
https://crates.io/crates/m77rip β HEALTH ? 81 / Healthy
Fast, memory-safe Rust codec for the misa77 compression format
https://crates.io/crates/m77rip β// readme
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.
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);