MCM file compressor
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Archive.cpp
Archive.hpp
BracketModel.hpp
CM-inl.hpp
CM.hpp
COPYING
Compressor.cpp
Compressor.hpp
CyclicBuffer.hpp
DeltaFilter.hpp
Detector.hpp
Dict.hpp
DivTable.hpp
Entropy.hpp
File.cpp
File.hpp
Filter.hpp
FilterTest.cpp
GD.hpp
HashTable.hpp
Huffman.cpp
Huffman.hpp
JPEG.hpp
LZ-inl.hpp
LZ.cpp
LZ.hpp
Log.hpp
MCM.cpp
MatchFinder.hpp
MatchModel.hpp
Memory.cpp
Memory.hpp
Mixer.hpp
Model.hpp
ProbMap.hpp
ProgressMeter.hpp
README.md
Range.hpp
Reorder.hpp
SSE.hpp
StateMap.hpp
Stream.hpp
Tests.cpp
Tests.hpp
TurboCM.hpp
UTF8.hpp
Util.cpp
Util.hpp
Wav16.hpp
WordCounter.hpp
WordModel.hpp
X86Binary.hpp
make.bat
make.sh

README.md

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