Hi, I've just found this forum and want to share my recently released project with appropriate audience - see ECL (Embedded Compression Library) on github here.
There's pretty big README with codec characteristics and benchmarks, but I will add few more words.
Use case details:
- passing up to several kilobytes of data between embedded device and powerful device in both directions through very slow channel;
- huge amount of requests of different sizes and possible data variations;
- embedded device is pretty limited - unable to allocate much memory (it was decided to let it use 1kb for temporary buffer for compressor), use malloc and such stuff;
- desired to fit as many requests as possible into 20-bytes packets (diffed approach is used for it).
Main library codec is NanoLZ, there are also ZD, ZE codecs that win in some cases, and also present for sake of variety.
I'm not really familiar with this thematics, I just liked experimenting with compression years ago, and recently returned to it temporarily, because I surprisingly found out that there were lack of embedded solutions when I needed one.
So you may see some stuff that is well known in appropriate society circles but is named differently in my code, sorry
Hopefully it will be useful for other people.