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.
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:
- SDSL (2.1 or later).
- Google Logging (glog) (0.34 or later).
Additionally, the tests require Google Test (1.7.0 or later).
For building the documentation, the following tools need to be installed:
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.
The framework is published under the Apache License 2.0