Atlas-Archive
High-performance compression library with adaptive context modeling (Loom) and .nyx archives.
Features
- Adaptive Context Modeling (Loom): Learns data patterns for better compression
- Parallel Processing: Uses Rayon for multi-core compression/decompression
- Encrypted Pages: Optional Svalinn ChaCha20Poly1305 encryption
- Low Memory: Paged LRU cache with disk swapping for large files
- Privacy-First: All context data eligible for cryptographic hardening
Installation
# Library
# CLI
Quick Start
Library
use ;
let config = default;
let mut compressor = new;
let mut decompressor = new;
// Compress
let data = b"Hello, Atlas-Archive!";
let compressed = compressor.compress.unwrap;
// Decompress
let original = decompressor.decompress.unwrap;
assert_eq!;
CLI
# Compress files into .nyx archive
# Decompress archive
# List archive contents
# Test archive integrity
.nyx Archive Format
- Magic:
NYX\x01(4 bytes) - Format:
[MAGIC:4][entry_count:4][entries...] - Entry:
[name_len:4][name][data_len:8][data]
Compression Modes
| Mode | Description | Best For |
|---|---|---|
LoomMode::Standard |
Full adaptive context | Best ratio, slower |
LoomMode::Paged |
Disk-backed, low RAM | Large files |
LoomMode::Off |
Static probabilities | Speed, simple data |
Performance
- Parallel chunks: 64KB per chunk, 80% CPU cores
- Batch weaving: Efficient context updates
- Async I/O: 4 Tokio workers for disk operations
License
Licensed under either of:
- Apache License, Version 2.0 (LICENSE-APACHE)
- MIT License (LICENSE-MIT)
at your option.