4 ms·
I'm looking for something like this for a 16bit micro (dsPIC33). A quick scan of the code and I don't see any obvious issues on running on a 16bit machine, so h
by FigBug 14y ago
I'm looking for something like this for a 16bit micro (dsPIC33). A quick scan of the code and I don't see any obvious issues on running on a 16bit machine, so hopefully it works.
- beagle3 14y agohttp://www.oberhumer.com/opensource/lzo/ http://www.oberhumer.com/opensource/lzo/ has been ported to everything.
- FigBug 14y agoLZO requires 64kB of memory. I've only have 16kB total. It looks like FastLZ requires 8kB. Still looking for something smaller.
- beagle3 14y agoI suspect you'll have to write something yourself - I've not seen an LZ-style compressor (either lz78/lzw/"arc" or lz77/lzss/lzma/zip) that can do with so little memory and have reasonable performance. (The memory mostly has hash tables; less memory with these algorithms essentially guarantees much, much longer run time or much, much lower compression ratio). Note, though, that's only for compression. LZO can decompress in-place, as can snappy, and I'm sure others can too.
- andrewf 14y agoWhat sort of data are you looking to compress? Most of these "fast, small implementation" compressors don't crunch down common bytes into <8 bits, but instead focus on encoding repeated multi-byte patterns only. (That's what "LZ" is). For LZ to compress well, you need a reasonably sized lookback buffer, plus a hash index of previously encountered patterns, so you might have trouble finding an LZ encoder that works with very little memory.