On Tue, Jul 09, 2019 at 08:04:23PM +0300, Leonid Bobrov wrote:
> Stuart and Espie, have you ever heard of compression?

once I ran out of space on the 80MB drive my BBS was running on so
I went through the whole download area, compressing everything with
arj/lha/zip using various flags (sometimes "lower level" compression
actually gave smaller files) and keeping the smallest file. so yeah
I've heard of compression. it took *ages*. and then it got blown
up by lightning anyway.


On 2019/07/09 20:40, Marc Espie wrote:
> Most specifically:
> - we do use gzip because other compression systems won't work with little
> memory/don't have the right licence.
> - gzip allows you to stick COMMENTS in the header, which is where the
> signature lives. I DID A WHOLE FUCKING PRESENTATION ABOUT THAT DESIGN
> CHOICE.
> - pkg_create uses an LRU cache to make updates faster.  And we use some
> specificities of gzip  to make packages amenable to using rsync actually.

I am quite interested in zstd (RFC8478) though.. it does seem to have a lot
of the characteristics we need:

+ bsd license
+ compressed files can be concatenated like gzip
+ "skippable frames", the signature could probably live here
+ usually better compression than gzip, even with zstd -1
+ so much faster than nearly everything else it isn't funny

- it does use a little more ram than gzip but not hugely, and with
library_aslr and kernel relinking we've pushed out the minimum
usable memory already.

max rss running *cat on a test package tar (varies a bit depending on
compression level):

gz   1.5M
zstd 3M
lz4  10M


On 2019-07-09, Nathan Hartman <hartman.nat...@gmail.com> wrote:
> You might find this interesting:
> https://github.com/silentbicycle/heatshrink

interesting for a very constrained system, but we are ok with a couple
of MB rather than a couple of KB ram use, and it wouldn't be worth
moving to something with lower compression ratios than we already have.

Reply via email to