[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: tagging performance issues

From: John Szakmeister <john_at_szakmeister.net>
Date: 2005-05-20 11:01:59 CEST

On Thursday 19 May 2005 21:54, Ben Collins-Sussman wrote:
> On May 19, 2005, at 6:33 PM, Sreekanth Puram wrote:
> > Any help would be appreciated.
>
> The time it takes to add a new entry to a directory is O(n). The
> repository compresses subsequent versions of file-nodes, but that's
> not true for directory-nodes. Every new version of a directory is
> written out in full: that is, the entire list of directory entries
> is written out every time you add a new child (and create a new
> revision).

Does that then counter our claim that tagging is O(1) that we so
prominently advertise? From our web page:
  * Branching and tagging are cheap (constant time) operations
    There is no reason for these operations to be expensive, so they
    aren't.

  Branches and tags are both implemented in terms of an underlying "copy"
  operation. A copy takes up a small, constant amount of space. Any copy
  is a tag; and if you start committing on a copy, then it's a branch as
  well. (This does away with CVS's "branch-point tagging", by removing the
  distinction that made branch-point tags necessary in the first place.)

> So, perhaps you shouldn't create 20,000 entries in /tags. Spread
> them out, create some sort of tree structure below /tags/.

Or, perhaps, we should live up to our claim. I'm disappointed about this.
We don't generate that many tags or releases, so it we would never suffer
from it. But a lot of corporate guys see this as a big boon... and it
isn't true. :-(

-John

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Fri May 20 11:08:38 2005

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.