Hacker News new | ask | show | jobs
by jhfdbkofdcho 2064 days ago
Reminds me of this compression project from a few years back from Steve Chamberlin at Big Mess O' Wires, FC8.

FC8 is designed to be as fast as possible to decompress on "legacy" hardware, while still maintaining a decent compression ratio. Generic C code for compression and decompression is provided, as well as an optimized 68K decompressor for the 68020 or later CPUs. The main loop of the 68K decompressor is exactly 256 bytes, so it fits entirely within the instruction cache of the 68020/030. Decompression speed on a 68030 is about 25% as fast as an optimized memcpy of uncompressed data.

The algorithm is based on the classic LZ77 compression scheme, with a sliding history window and duplicated data replaced by (distance,length) markers pointing to previous instances of the same data. No extra RAM is required during decompression, aside from the input and output buffers. The match-finding code and length lookup table were borrowed from liblzg by Marcus Geelnard.

https://www.bigmessowires.com/2016/05/06/fc8-faster-68k-deco...

1 comments

This sounds like it shares some similarities with LZ4.
Indeed