From: Josh MacDonald <jmacd@CS.Berkeley.EDU>
To: Larry McVoy <lm@work.bitmover.com>,
Josh MacDonald <jmacd@CS.Berkeley.EDU>,
Tom Lord <lord@regexps.com>,
jaharkes@cs.cmu.edu, linux-kernel@vger.kernel.org
Subject: Re: linux-2.5.4-pre1 - bitkeeper testing
Date: Tue, 12 Feb 2002 03:01:59 -0800 [thread overview]
Message-ID: <20020212030159.03649@helen.CS.Berkeley.EDU> (raw)
In-Reply-To: <Pine.LNX.4.44.0202052328470.32146-100000@ash.penguinppc.org> <20020207165035.GA28384@ravel.coda.cs.cmu.edu> <200202072306.PAA08272@morrowfield.home> <20020207132558.D27932@work.bitmover.com> <20020211002057.A17539@helen.CS.Berkeley.EDU> <20020211070009.S28640@work.bitmover.com>
In-Reply-To: <20020211070009.S28640@work.bitmover.com>; from Larry McVoy on Mon, Feb 11, 2002 at 07:00:09AM -0800
Quoting Larry McVoy (lm@bitmover.com):
> On Mon, Feb 11, 2002 at 12:20:57AM -0800, Josh MacDonald wrote:
> > > In essence arch isn't that different from RCS in that arch is
> > > fundamentally a diff&patch based system with all of the limitations that
> > > implies. There are very good reasons that BK, ClearCase, Aide De Camp,
> > > and other high end systems, are *not* diff&patch based revision histories,
> > > they are weave based. Doing a weave based system is substantially
> > > harder but has some nice attributes. Simple things like extracting any
> > > version of the file takes constant time, regardless of which version.
> > > Annotated listings work correctly in the face of multiple branches and
> > > multiple merges. The revision history files are typically smaller,
> > > and are much smaller than arch's context diff based patches.
> >
> > Larry, I don't think you're saying what you mean to say, and I doubt
> > that what you mean to say is even correct. In fact, I've got a
> > master's thesis to prove you wrong. I wish you would spend more time
> > thinking and less time flaming or actually _do some research_.
>
> Right, of course your masters thesis is much better than the fact that
> I've designed and shipped 2 SCM systems, not to mention the 7 years of
> research and development, which included reading lots of papers, even
> the xdelta papers.
I'm impressed.
> > But as I understand your weave method, its not even linear as a
> > function of version size, its a function of _archive size_. The
> > archive is the sum of the versions woven together, and that means your
> > operation is really O(N+A) = O(A).
>
> The statement was "extracting *any* version of the file takes constant
> time, regardless of which version". It's a correct statement and
> attempts to twist it into something else won't work. And no diff&patch
> based system can hope to achieve the same performance.
Didn't you read what I wrote?
> > Let's suppose that by "diff&patch" you really mean RCS--generalization
> > doesn't work here.
>
> Actually, generalization works just fine. By diff&patch I mean any system
> which incrementally builds up the result in a multipass, where the number
> of passes == the number of deltas needed to build the final result.
No, I guess you didn't read what I wrote.
> > Your argument supposes that the cost of an RCS
> > operation is dominated by the application of an unbounded chain of
> > deltas. The cost of that sub-operation is linear as a function of the
> > chain length C. RCS has to process a version of length N, an archive
> > of size A, and a chain of length C giving a total time complexity of
> > O(N+C+A) = O(C+A).
> >
> > And you would like us to believe that the weave method is faster
> > because of that extra processing cost (i.e., O(A) < O(C+A)). I doubt
> > it.
>
> Hmm, aren't you the guy who started out this post accusing me (with
> no grounds, I might add) of not doing my homework? And how are we
> to take this "I doubt it" statement? Like you didn't go do your
> homework, perhaps?
You haven't denied the claim either. I said you were wrong on your
regarding complexity analysis. You're ignoring the cost of disk
accesses which have nothing to do with "number of deltas needed to
build a final result". Do you ever say something with less than
100% confidence? I should hope so, given how often you're wrong.
> > [etc]
> > The cost of these operations is likely dominated by the number of
> > blocks transferred to or from the disk, period.
>
> I notice that in your entire discussion, you failed to address my point
> about annotated listings. Perhaps you could explain to us how you get an
> annotated listing out of arch or xdelta and the performance implications
> of doing so.
Separate problems, separate solutions.
> > So from my point of view, the "weave" method looks pretty inadequate.
>
> I'm sure it does, you are promoting xdelta, so anything else must be bad.
> I am a bit curious, do you even know what a weave is? Can you explain
> how one works? Surely, after all that flaming, you do know how they
> work, right?
Of course. But disk transfer cost is the same whether you're in RCS
or SCCS, and rename is still a very expensive way to update your files.
-josh
--
PRCS version control system http://sourceforge.net/projects/prcs
Xdelta storage & transport http://sourceforge.net/projects/xdelta
Need a concurrent skip list? http://sourceforge.net/projects/skiplist
next prev parent reply other threads:[~2002-02-12 11:02 UTC|newest]
Thread overview: 109+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-02-06 7:33 linux-2.5.4-pre1 - bitkeeper testing Jeramy B. Smith
2002-02-06 15:15 ` Florian Weimer
2002-02-07 16:50 ` Jan Harkes
2002-02-07 23:06 ` Tom Lord
2002-02-07 21:23 ` Daniel Phillips
2002-02-08 1:02 ` Tom Lord
2002-02-07 21:23 ` Paul P Komkoff Jr
2002-02-07 21:28 ` Larry McVoy
2002-02-07 21:25 ` Larry McVoy
2002-02-08 2:32 ` Tom Lord
2002-02-08 15:33 ` Pavel Machek
2002-02-08 21:35 ` Larry McVoy
2002-02-11 8:20 ` Josh MacDonald
2002-02-11 15:00 ` Larry McVoy
2002-02-11 20:25 ` Pavel Machek
2002-02-11 22:14 ` Larry McVoy
2002-02-12 5:17 ` Tom Lord
2002-02-12 3:59 ` Theodore Tso
2002-02-12 6:19 ` Bernd Eckenfels
2002-02-12 20:28 ` Tom Lord
2002-02-12 22:54 ` Larry McVoy
2002-02-13 0:52 ` Daniel Phillips
2002-02-13 9:41 ` Tom Lord
2002-02-13 10:35 ` Roman Zippel
2002-02-12 11:01 ` Josh MacDonald [this message]
2002-02-12 11:15 ` Jeff Garzik
2002-02-18 18:10 ` Eric W. Biederman
2002-03-10 8:36 ` Hans Reiser
2002-03-10 19:41 ` Itai Nahshon
2002-03-10 20:19 ` Hans Reiser
2002-03-10 21:16 ` Rob Turk
2002-03-10 21:34 ` Alan Cox
2002-03-10 21:23 ` Rik van Riel
2002-03-11 8:22 ` Hans Reiser
2002-03-10 21:28 ` Alexander Viro
2002-03-11 11:04 ` Mark H. Wood
2002-03-11 9:46 ` Harald Arnesen
2002-03-10 21:37 ` Richard Gooch
2002-03-11 5:48 ` Hans Reiser
2002-03-11 5:52 ` Alexander Viro
2002-03-11 6:15 ` Hans Reiser
2002-03-11 6:37 ` Alexander Viro
2002-03-11 6:42 ` Richard Gooch
2002-03-11 13:13 ` yodaiken
2002-03-11 15:51 ` Hans Reiser
2002-03-11 16:08 ` yodaiken
2002-03-11 16:56 ` Hans Reiser
2002-03-11 22:51 ` James Antill
2002-03-12 7:58 ` Hans Reiser
2002-03-12 22:37 ` Andrew Pimlott
2002-03-13 8:09 ` Hans Reiser
2002-03-13 15:10 ` Andrew Pimlott
2002-03-13 9:39 ` Geert Uytterhoeven
2002-03-13 14:37 ` Andrew Pimlott
2002-03-13 16:26 ` Larry McVoy
2002-03-13 16:30 ` Andrew Pimlott
2002-03-13 19:18 ` Hans Reiser
2002-03-14 9:39 ` filesystem transactions (was Re: linux-2.5.4-pre1 - bitkeeper testing) Tom Lord
2002-03-14 8:26 ` Hans Reiser
2002-03-14 10:31 ` Eric W. Biederman
2002-03-11 14:05 ` linux-2.5.4-pre1 - bitkeeper testing Luigi Genoni
2002-03-11 10:46 ` Mark H. Wood
2002-03-11 11:32 ` Hans Reiser
2002-03-11 15:29 ` Steven Cole
2002-03-11 16:08 ` Hans Reiser
2002-03-11 16:25 ` Steven Cole
2002-03-11 17:08 ` Hans Reiser
2002-03-11 17:16 ` Nikita Danilov
2002-03-11 18:22 ` VMS File versions (was RE: linux-2.5.4-pre1 - bitkeeper testing) Robert Pfister
2002-03-11 18:41 ` linux-2.5.4-pre1 - bitkeeper testing Steven Cole
2002-03-11 19:15 ` Hans Reiser
2002-03-11 21:33 ` Steven Cole
2002-03-11 21:54 ` Richard B. Johnson
2002-03-11 22:01 ` Richard B. Johnson
2002-03-11 22:19 ` Steven Cole
2002-03-12 0:14 ` Robert Pfister
2002-03-12 7:54 ` linux-2.5.4-pre1 - bitkeeper testing (If you don't like the closed source nature of Bitkeeper, stop your whining and help out with reiserfs.) Hans Reiser
2002-03-12 1:28 ` linux-2.5.4-pre1 - bitkeeper testing Mark H. Wood
-- strict thread matches above, loose matches on Subject: below --
2002-03-12 18:08 Thunder from the hill
2002-02-06 3:37 Linus Torvalds
2002-02-06 6:50 ` Andreas Dilger
2002-02-06 7:50 ` Reid Hekman
2002-02-06 8:03 ` Larry McVoy
2002-02-06 19:35 ` Christoph Hellwig
2002-02-06 19:45 ` Tom Rini
2002-02-06 20:44 ` Wayne Scott
2002-02-06 20:35 ` Larry McVoy
2002-02-06 22:25 ` Mike Fedyk
2002-02-06 15:17 ` Florian Weimer
2002-02-06 15:32 ` Rik van Riel
2002-02-06 16:54 ` Larry McVoy
2002-02-06 22:19 ` Rob Landley
2002-02-06 17:30 ` Roman Zippel
2002-02-06 17:33 ` Linus Torvalds
2002-02-06 19:58 ` Roman Zippel
2002-02-06 23:36 ` Linus Torvalds
2002-02-06 23:54 ` Larry McVoy
2002-02-07 8:07 ` Stelian Pop
2002-02-07 16:36 ` Linus Torvalds
2002-02-07 17:26 ` Larry McVoy
2002-02-07 19:46 ` Stelian Pop
2002-02-08 0:29 ` Andreas Dilger
2002-02-08 5:28 ` Troy Benjegerdes
2002-02-08 6:06 ` Larry McVoy
2002-02-08 6:14 ` Troy Benjegerdes
2002-02-08 6:49 ` Andreas Dilger
2002-02-07 10:50 ` Roman Zippel
2002-02-06 19:38 ` Pavel Machek
2002-02-06 23:06 ` Larry McVoy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20020212030159.03649@helen.CS.Berkeley.EDU \
--to=jmacd@cs.berkeley.edu \
--cc=jaharkes@cs.cmu.edu \
--cc=linux-kernel@vger.kernel.org \
--cc=lm@work.bitmover.com \
--cc=lord@regexps.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox