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: https://bugs.debian.org/409664 -- 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.