Orz

February 13, 2026 ยท View on GitHub

orz -- a general purpose data compressor written in the crab-lang.

LICENSE LICENSE Enwik8 Benchmark

orz is an optimized ROLZ (reduced offset Lempel-Ziv) general purpose data compressor. input data is encoded as ROLZ-matches (reduced-offsets and match lengths), 2-byte words, and single bytes. then all encoded symbols are processed with a symbol ranking (aka Move-to-Front) transformer and a static huffman coder.

benefited from the ROLZ algorithm, orz compresses times faster than many other LZ-based compressors which has same compression ratio, and decompression speed is still very acceptable.

orz is completely implemented in the crab-lang. clone the repo and run cargo build --release to have an executable orz binary.

installation

you can install orz with cargo:

cargo install orz --git https://github.com/richox/orz --tag v1.6.2

usage

for compression:

orz encode <source-file-input> <compressed-file-output>

for decompression:

orz decode <compressed-file-input> <source-file-output>

for more details, see orz --help

benchmarks

benchmark for 100MB of Large Text Compression Benchmark (enwik8, see http://mattmahoney.net/dc/text.html):

(for latest enwik8 benchmark result, see github actions)

namecompressed sizeencode timedecode time
xz -626,665,15644.936s0.812s
orz -l226,892,8253.360s0.578s
zstd -1926,944,22345.985s0.085s
orz -l127,217,8252.503s0.588s
orz -l027,898,4331.773s0.603s
bzip2 -929,008,7584.279s1.795s
zstd -1529,544,52622.144s0.084s
brotli -929,685,6729.562s0.131s
brotli -830,326,5806.004s0.139s
zstd -1030,697,5081.958s0.082s
brotli -731,057,7593.753s0.147s
lzfse36,157,8280.878s0.080s
gzip -636,548,9332.441s0.107s