zstd compression for packages
On Sat, Mar 17, 2018 at 3:09 PM, Dimitri John Ledkov
<launchpad at surgut.co.uk> wrote:
> On 16 March 2018 at 22:13, Steve Langasek <steve.langasek at ubuntu.com> wrote:
>> In other words: if we want to make this the default, we should quantify
>> Daniel's remark that he would prefer a 6% faster download over a 10% faster
> Well, I think it does not make sense to think about this in absolute
> terms. Thinking about user stories is better.
> A stable series user will be mostly upgrading packages from -security
> and -updates. The download speed and/or size of debs does not matter
> much in this case, as these are scheduled to be done in the background
> over the course of the day, via unattended upgrades download timer.
> Installation speed matters, as that is the window of time when the
> system is actually somewhat in a maintenance mode / degraded
> performance (apt is locked, there are CPU and disk-io loads).
> New instance initialization - e.g. spinning up a cloud instance, with
> cloud-init, and installing a bunch of things; deploying juju charm /
> conjure-up spell; configuring things with puppet / ansible / etc =>
> these are download & install heavy. However, users that do that
> heavily, will be in a corporate / bussiness / datacentre environment
> and thus it is reasonable to expect them to have either a fat internet
> pipe, and/or a local mirror. Meaning download speed & size, are not
> Then there are devel series users, developers who do sbuild builds,
> etc. These users are most likely to be on slower home-user connections
> and watch things a lot more closely interactively, who indeed care
> about the total download+install time. These users, are most likely
> very vocal / visible, but are not ultimately the target audience as to
> why we develop Ubuntu in the first place. Thus I would be willing to
> trade personal developer/devel-series user experience, in favor of the
> stable series user. I'm not sure how much it makes sense to
> proxy/cache/local-mirror devel series, if it is only a single machine
> in use.
> ps. I fight for the user
> pss. /me goes to setup a local mirror proxy cache, with dns spoofing
> to make sure all my sbuilds / lxd containers / VM / cloud-images use
> local mirror out of the box
I agree with Dimitri's analysis and I'would also like to add one more
thing to consider. During unpacking of packages the system is in a
transient state where programs may not work correctly. Minimizing the
time spent in that transient state is and important additional benefit
of speeding up decompression.
The speedup varies a lot across use cases and IMO the 10% speed
increase is an understatement for many very important use cases.