Wilt
Wilt is a compression algorithm designed to be very simple to implement, but still competitive with popular compression algorithms. Its compression ratio lies somewhere between Deflate/gzip and bzip2 on average, yet it takes only about a page of C code to implement a decompressor.
Wilt has a Bitbucket page where source code and some documentation is available. You can read about the data stream format, see some compression benchmarks for the Canterbury Corpus, or look at the source code for the decompressor.
Pros of Wilt:
- Very simple decompressor, which can be easily ported to whatever platform or programming langauge you need.
- Better compression ratio than Deflate/gzip.
- Good at small files and files with aligned data.
- The Wilt-16 variant can be used on the GBA and NDS to decompress data directly to VRAM, since it only uses aligned 16-bit reads and writes.
- Since it is a very simple algorithm, it can easily be tweaked for specific purposes.
Cons of Wilt:
- Requires the whole file to be available during decompression, meaning a file can't be decompressed part by part to disk, but has to be decompressed to memory.
- Not as good compression ratio as LZMA.
- The current compressor is really slow. This is just a matter of me not knowing how to write a fast compressor, and not a limitation of the algorithm. Hopefully this will be rectified sooner or later.