tudocomp
– The TU Dortmund Compression Framework
tudocomp

The Technical University of DOrtmund COMPression Framework (tudocomp) is a lossless compression framework with the aim to support and facilitate the implementation of novel compression algorithms. It already comprises a range of standard data compression and encoding algorithms. These can be mixed and parameterized with the following uses in mind:

  • Baseline implementations of well-known compression schemes.
  • Detailed benchmarking and comparison of compression and encoding algorithms.
  • Easy integration of new algorithm implementations.

The framework offers a solid and extensible base for new implementations. Its design is focused on modularity and interchangeability. This way, the user can combine algorithms to find the optimal compression strategy for a given input. The framework gives this opportunity while creating as little performance overhead as possible.

Dependencies

tudocomp's CMake build process will either find external dependencies on the system if they have been properly installed, or automatically download and build them from their official repositories in case they cannot be found. In that regard, a proper installation of the dependencies is not required.

Said external dependencies are the following:

Additionally, the tests require Google Test (1.7.0 or later).

Documentation Build Requirements

For building the documentation, the following tools need to be installed:

  • LaTeX (specifically the pdflatex component)
  • Doxygen (1.8 or later).
  • Pandoc (1.19 or later).

Windows Support

While tudocomp has no explicit support Windows / Microsoft Visual C++, it is possible to use the Bash on Ubuntu on Windows with next to no feature limitations. However, note that the comparison tool relies on valgrind, which is not functional in this environment until the Windows 10 Creators Update.

License

The framework is published under the Apache License 2.0