Skip to content

Latest commit

 

History

History
29 lines (22 loc) · 733 Bytes

README.md

File metadata and controls

29 lines (22 loc) · 733 Bytes

Enigma is a library for compressing a large amount of small strings. It's main force is EnigmaCodec. It uses dictionary based encoder greedily consuming substrings from given input records and then passes substring into Huffman coder.

Building

You can build and install Enigma with:

mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make
make install

Testing

Unit-tests can be built with ENIGMA_BUILD_TESTS flag turned to ON (you want, probably, Debug-build)

mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug -DENIGMA_BUILD_TESTS=ON
make

Then run:

tools/runner <file you want to compress>

This will run Enigma and tests it for compressing/decompressing and save/load.