Re: Evaluation (Re: Proposal: A new approach to differential debs)
- Date: Wed, 16 Aug 2017 17:37:28 +0200
- From: Julian Andres Klode <jak@xxxxxxxxxx>
- Subject: Re: Evaluation (Re: Proposal: A new approach to differential debs)
On Wed, Aug 16, 2017 at 12:21:09AM +0200, Julian Andres Klode wrote:
> firefox (size & performance):
> -rw-r--r-- 1 jak jak 2.3M Aug 15 20:59 firefox_55.0-1_55.0-2_amd64.debdelta
> -rw-r--r-- 1 jak jak 2.4M Aug 15 22:13 firefox_55.0-1_55.0-2_amd64.pdeb
> -rw-r--r-- 1 jak jak 7.4M Aug 15 22:36 firefox_55.0-1_55.0-2_amd64.xdeb
> -rw-r--r-- 1 jak jak 38M Aug 10 06:49 firefox_55.0-1_amd64.deb
> -rw-r--r-- 1 jak jak 38M Aug 10 12:44 firefox_55.0-2_amd64.deb
> Generating the -2 deb from the -1 deb using debdelta took about 47 seconds. In
> contrast, applying the .pdeb and .xdeb files to an installed directory tree
> took about 1.5 seconds.
> The .pdeb uses bsdiff compression, the .xdeb uses xdelta 3. It took
> 96 seconds to generate the pdeb, and 13 seconds to generate the xdeb
> on my ThinkPad X230 with 16 GB of RAM and a Core i5-3320M.
We're down to about 40 seconds now if we replace the embedded qsufsort in
bsdiff with linking to libdivsufsort. It's still slow, so if we want to do
that, it seems the only plausible way is for buildds to fetch the old
packages after a build, generate the deltas, and append them to .changes
(or build a delta changes file).
I linked the libdivsufsort change and other relevant performance improvements
from chromium in:
Debian Developer - deb.li/jak | jak-linux.org - free software dev
| Ubuntu Core Developer |
When replying, only quote what is necessary, and write each reply
directly below the part(s) it pertains to ('inline'). Thank you.