UCL is written in ANSI C. Both the source code and the compressed data format are designed to be portable across platforms.
UCL implements a number of algorithms with the following features:
* Decompression is simple and *very* fast.
* Requires no memory for decompression.
* The decompressors can be squeezed into less than 200 bytes of code.
* Focuses on compression levels for generating pre-compressed data which achieve a quite competitive compression ratio.
* Allows you to dial up extra compression at a speed cost in the compressor. The speed of the decompressor is not reduced.
* Algorithm is thread safe.
* Algorithm is lossless.
UCL supports in-place decompression.
UCL and the UCL algorithms and implementations are distributed under the terms of the GNU General Public License (GPL) { auf Deutsch }. Special licenses for commercial and other applications are available by contacting the author.
<b>How fast is fast ?</b>
Here are some original timings on an old Intel Pentium 133:
* memcpy(): ~60 MB/sec
* UCL decompression in optimized assembler: ~13 MB/sec
* LZO decompression in optimized assembler: ~20 MB/sec
* LZO decompression in C: ~16 MB/sec