gnu-arch-users
[Top][All Lists]
Advanced

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

Re: [Gnu-arch-users] a brief note on "delta compression"


From: James Blackwell
Subject: Re: [Gnu-arch-users] a brief note on "delta compression"
Date: Mon, 3 May 2004 18:20:47 -0400

>> My personal hunch is that the proper X is right around 5. I've got no
>> actual proof for that, mind you.=20
>
> You've neatly oversimplified the problem :P
>
> The appropriate size for X is the jump which people want to frequently
> make. That's probably precisely the distance between each pair of
> releases.

Grin. I don't think I've oversimplied it. My unspoken point was that we
*don't* what X is -- we don't even know if there is an X on a
practical basis. I threw out 5 because it seems to me that whenever I
update my working copy of somebody else's branch, there's always 5 or 6
patches.

The way to actually get X is to find the average rate that developers
commit patches, the rate that people replay/update their trees, and
divide them out. Though, with enough effort, I could give an answer for
the first question, I don't think theres a way to get the second data
point.

There might be a better answers hiding right around the corners. In
fact, two ideas just occurred to me.

1. We don't have to offer a "5 revision hop" *every* revision. We could
just do it on */5 revisions. I.E. You can hop between patch-40 and
patch-45

2. We don't have to always offer the same number of hops every time
either. I.E. on */40 we could offer a 5 revision hop, and */50 we could
offer a 50 revision hop. 

Combining the two ideas, we could use a schedule something like this: 

base-0
patch-1,  X=1
patch-2,  X=1
patch-3,  X=1
patch-4,  X=1
patch-5,  X=1, X=5 
patch-6,  X=1
patch-10, X=1, X=10 (or X=1, X=5, X=10)
patch-15, X=1, X=5
patch-20, X=1, X=10 (or X=1, X=5, X=10)
patch-25, X=25 (or X=1, X=5, X=10, X=25)
..
..
patch-100, X=1, X=100 or (X=1, X=5,X=10, X=25, X=100


Again, I don't think this is a very useful idea. As I see it, either
you're tracking development, or you're not. If you're tracking
development, you're close to the head of development anyways. 

The only place this really does any good is when you're trying to patch
from base-0 on. And *still* thats what revision libraries are for.

/me shrugs.

-- 
James Blackwell          Please do not send me carbon copies of mailing
Smile more!              list posts. Such mail is unsolicited. Thank you!

GnuPG (ID 06357400) AAE4 8C76 58DA 5902 761D  247A 8A55 DA73 0635 7400




reply via email to

[Prev in Thread] Current Thread [Next in Thread]