3 ms·
I wonder how this compares to xz or lzo. Is the main draw the fact that it runs in really low memory?
by jtchang 5y ago
I wonder how this compares to xz or lzo. Is the main draw the fact that it runs in really low memory?
- wolf550e 5y agoI think it's like LZO or LZ4 but with tiny window, so the compression is not great.
- deleted 5y ago[deleted]
- MobiusHorizons 5y agoThere is a blog post linked at the bottom of the readme that has some more interesting numbers. https://spin.atomicobject.com/2013/03/14/heatshrink-embedded-data-compression/ https://spin.atomicobject.com/2013/03/14/heatshrink-embedded...
- lifthrasiir 5y agoThe linked blog post [1] contains a benchmark against the Canterbury Corpus [2]. It is hard to test against other compressors because of its very low memory requirement, but LZO1X-1(11) (`lzo1x -11` in LZBench [3]) comes close as both LZO1X-1(11) and HS 13,4 targets 8 KB of work memory. The result (higher is better): HS 13,4 LZO1X-1(11) sample 54.90% 38.02% alice29.txt 50.51% 34.00% asyoulik.txt 57.63% 49.38% cp.html 64.68% 56.97% fields.c 56.87% 51.03% grammar.lsp 71.65% 64.12% kennedy.xls 56.53% 40.33% lcet10.txt 48.57% 29.41% plrabn12.txt 77.74% 82.91% ptt5 47.76% 40.64% xargs.1 64.10% 54.90% total (note: doesn't include `sum`) It does seem to have a good compression compared with LZO1X. I think this is mostly because LZO1X has a requirement that literals should be aligned at byte boundary for the performance but Heatshrink doesn't. [1] https://spin.atomicobject.com/2013/03/14/heatshrink-embedded-data-compression/ https://spin.atomicobject.com/2013/03/14/heatshrink-embedded... [2] https://corpus.canterbury.ac.nz/ https://corpus.canterbury.ac.nz/ [3] https://morotti.github.io/lzbench-web/ https://morotti.github.io/lzbench-web/