/mcm

MCM file compressor

Primary LanguageC++GNU General Public License v3.0GPL-3.0

mcm compressor: context mixing + lzp

Fast + effective CM algorithm

- LZP for faster compression of highly compressible files

- Binary + text detection for model switching

- E8E9 filter for X86 binaries

Benchmarks:

Sandy Bridge 2630QM, 8GB RAM, Windows 7 x64, GCC compile (make.bat)

- Silesia corpus (separate files) from http://mattmahoney.net/dc/silesia.html:

ProgramCompression sizeCompression time
Uncompressed211,938,580N/A
7z ultra 1 thread48,745,801140s
CCM 744,954,21770s
CCMX 743,970,14286s
mcm v0.82 -turbo -942,837,00881s
mcm v0.82 -fast -941,819,61191s
mcm v0.82 -mid -940,541,614116s
mcm v0.82 -high -940,242,195132s
mcm v0.82 -max -940,068,926140s

- ENWIK8 from http://mattmahoney.net/dc/text.html:

ProgramCompression sizeCompression timeDecompression time
Uncompressed100,000,000N/AN/A
CCM 721,980,53335sUnmeasured
CCMX 720,857,92546sUnmeasured
mcm v0.82 -turbo -920,429,11648sUnmeasured
mcm v0.83 -t920,199,97940s34s
mcm v0.82 -fast -919,958,14451sUnmeasured
zcm 0.92 -m7 -t1 19,803,55445sUnmeasured
mcm v0.82 -mid -919,520,20460sUnmeasured
mcm v0.82 -high -919,318,17973sUnmeasured
mcm v0.83 -f919,313,85843s36s
mcm v0.82 -max -919,211,78180sUnmeasured
mcm v0.83 -m918,627,06149s44s
mcm v0.83 -h918,504,13958s54s
mcm v0.83 -x918,379,12164s59s