4 ms·
The 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 req
by lifthrasiir 5y ago
The 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/