ExCom (Extensible Compression Library) is a gcc library of collected data compression algorithms. The idea behind is to have one source of data compression algorithms together with benchmarking environment.
The idea behind is to have one source of data compression algorithms together with benchmarking environment. There are two main purposes of ExCom:
The motivation for algorithms designer to use ExCom is, on top of having access to benchmarking environment and the other algorithms' implementation, that the algorithms in ExCom will be regularly tested on the latest Prague Corpus. Some methods give better results when combined with each other, therefore availability of more methods would give the user a free hand to try out. Thus, a new library has a common interface for various number of compression schemes flexible enough to co-operate with several applications.
The ExCom library is well designed and extensible, which means that only few steps have to be performed to integrate a new compression method. The library has a built-in mechanism used for IO operations available for many types of streams. This includes the standard communication with values stored in the filesystem, data in memory, and also a support of pipes, i.e., output of one compression module becomes an input for another. This unified interface provides some handy functions for easy communication with the above mentioned streams, e.g. to access single bits or alternatively to work with blocks of bytes.
The following few lines complete the list of properties and features provided by the ExCom library:
clock_gettimefunction because it provides time values for each thread separately with nanosecond precision. However ExCom only works with microseconds