From: Larry McVoy <lm@bitmover.com>
To: Josh MacDonald <jmacd@CS.Berkeley.EDU>
Cc: Tom Lord <lord@regexps.com>,
jaharkes@cs.cmu.edu, linux-kernel@vger.kernel.org
Subject: Re: linux-2.5.4-pre1 - bitkeeper testing
Date: Mon, 11 Feb 2002 07:00:09 -0800 [thread overview]
Message-ID: <20020211070009.S28640@work.bitmover.com> (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>
In-Reply-To: <20020211002057.A17539@helen.CS.Berkeley.EDU>; from jmacd@CS.Berkeley.EDU on Mon, Feb 11, 2002 at 12:20:57AM -0800
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.
> 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.
> 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.
> 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?
> [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.
> 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?
--
---
Larry McVoy lm at bitmover.com http://www.bitmover.com/lm
next prev parent reply other threads:[~2002-02-11 15:00 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 [this message]
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
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=20020211070009.S28640@work.bitmover.com \
--to=lm@bitmover.com \
--cc=jaharkes@cs.cmu.edu \
--cc=jmacd@CS.Berkeley.EDU \
--cc=linux-kernel@vger.kernel.org \
--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