[RFC] Strawman replacement local directory state

Michael Ellerman michael at ellerman.id.au
Wed Jun 14 02:15:50 BST 2006


On Tue, 2006-06-13 at 11:45 -0500, John Arbash Meinel wrote:
> Michael Ellerman wrote:
> > On 6/14/06, Robert Collins <robertc at robertcollins.net> wrote:
> >> I've put a strawman working tree state file format up at
> >> http://bazaar-vcs.org/Classes/WorkingTree.
> >>
> >> Its got some interesting aspects, and some things that we might choose
> >> to address...
> >>
> >> Its designed as a 'parse it fully every time, and write it fully too,
> >> but make it fast'. format.
> > 
> > I'm not really across this stuff enough to comment much, you've
> > clearly thought about it a lot more than most people.
> > 
> > Having said that I'm a tad wary of any format involves reading/writing
> > in its entirety.
> > 
> > On the wiki you quote hg, which reads a Dirstate for 19470 files in
> > 220ms. If it scales linearly that'd mean ~23.6 seconds just to read
> > the state for my ~2 million file repository. Am I reading that right?
> > 
> > cheers
> 
> Does anything scale well for a 2 million file repository? I suppose git
> uses a per-directory approach. Though you must have a hell of a lot of
> churn at the top level directory entry. (Since each dir changes when the
> dirs below it change)

That's not the point though. A data structure like this makes it
impossible/hard to speedup partial-tree operations.

If you want to do "status" on 2 million files then it's going to take a
while. I think that's something users accept, because the operation the
user is thinking of "status of 2 million files" is =~ what bzr is doing.

The problem is when a user runs "status just-one-file". They're thinking
"status of 1 file should be fast", but with a data structure like this
bzr is doing a similar amount of work to the full status. I think that
has the potential to annoy people.

cheers

-- 
Michael Ellerman
IBM OzLabs

wwweb: http://michael.ellerman.id.au
phone: +61 2 6212 1183 (tie line 70 21183)

We do not inherit the earth from our ancestors,
we borrow it from our children. - S.M.A.R.T Person
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 191 bytes
Desc: This is a digitally signed message part
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20060614/8ba22eed/attachment.pgp 


More information about the bazaar mailing list