public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
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

  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