News for hackers. Stuff that matters.
Re:Heatshrink: Data compression library for embedded/real-ti... by jtchang on Wednesday September 29, 2021 @11:51PM (#28702990)
I wonder how this compares to xz or lzo. Is the main draw the fact that it runs in really low memory?
Re:Heatshrink: Data compression library for embedded/real-ti... by lifthrasiir on Thursday September 30, 2021 @02:15AM (#28703693)
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...

[2] https://corpus.canterbury.ac.nz/

[3] https://morotti.github.io/lzbench-web/

Re:Heatshrink: Data compression library for embedded/real-ti... by MobiusHorizons on Thursday September 30, 2021 @02:00AM (#28703631)
There 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...

Re:Heatshrink: Data compression library for embedded/real-ti... by wolf550e on Thursday September 30, 2021 @12:40AM (#28703256)
I think it's like LZO or LZ4 but with tiny window, so the compression is not great.