[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Better pdiff handling for apt



Hi,

I had a go on this topic as well in early december, but got "distracted"
which will be for a bit longer still, so just as a somewhat short reply:

On Sat, Jan 04, 2014 at 08:40:34PM +0800, Anthony Towns wrote:
> My patched apt source is up on github at:
>
>    https://github.com/ajtowns/apt/tree/better-pdiffs

Looks like you did most of the other half of:
     https://github.com/DonKult/apt/commits/feature/clientmergepdiffs

which implements the proper acquiring of patches and such, but offloads
the actual merging to diffindex-rred (provided by apt-file).
It also keeps API compatibility and handles reprepro server-merged
patches: aka it can switch at will between server-merge [which is
currently assumed to be the case, but never done by dak so far] and
client-merge [which assumes a strict order of patches as it is done
by dak and so would be the better default if it isn't going to change,
which I heard before debconf would be done soon… but I might misheard].
A "wild" mixture of both requires indeed more info in the Index.

I had run some "benchmarks" back then:
(I don't like benchmarks, but anyway)
'normal' pdiff, client-side merged pdiffs and no pdiffs:

# apt-get update -o Acquire::PDiffs::Merge=0
Fetched 21.8 MB in 1min 6s (330 kB/s)

# apt-get update -o Acquire::PDiffs::Merge=1
Fetched 21.8 MB in 11s (1874 kB/s)

# apt-get update -o Acquire::PDiffs=0
Fetched 74.6 MB in 15s (4928 kB/s)

Disclaimer: this system has a strange mixture of everything to test some
extremes, but for us here it means: >10 indexes patchable by pdiff,
>200 pdiffs need to be applied to get up-to-date, http.debian.net as
mirror and an (observed) ~10 MB/s connection at my university (– remember
 that especially 'no pdiff' needs to do a lot of uncompress work, which
 slows down more than you would guess – as you see here).


So, I guess merging both could cross a lot of points of your list and
be relatively easily feed into unstable for proper field-testing.
(a upload of my part was planed as a christmas present to experimental,
 but as usual: If you want to make deity laugh, tell her your plans)


Best regards

David Kalnischkies

Attachment: signature.asc
Description: Digital signature


Reply to: