[MERGE/RFC] buffer_all for get_revision_graph() and get_ancestry()

Robert Collins robertc at robertcollins.net
Fri Nov 30 22:01:54 GMT 2007


On Fri, 2007-11-30 at 15:33 -0600, John Arbash Meinel wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Robert Collins wrote:
> > Robert Collins has voted reject.
> > Status is now: Vetoed
> > Comment:
> > I think the immediate improvements we've got on a number of commands
> > already shows the benefit to us of having our developers really
> > dogfooding packs; and  the ease with which individual operations can be
> > improved. I grant that this may be required for release branches; but I
> > am still completely convinced that merging this to bzr.dev would be a
> > mistake.
> > 
> 
> While we might be able to get rid of calls to get_ancestry, log uses merge_sort
> and that is defined on the whole graph.

It's actually well defined between dominators. So we can do partial
graph merge_sorts. We can then number them if we have the number for any
revision in the set sorted.

> So I think you are being premature about what we can and cannot fix easily.

I'll grant that.

> If 20 commands are slowed down, and I fix 2, that still leaves 18 that can
> benefit from something like this.
> 
> (Note also that plain get_revision_graph() is about 5x faster than
> get_revisio_graph(revision) because it calls index.versions() which does call
> buffer_all).



> If you want to work out how to determine merged revisions without searching the
> whole ancestry, you are welcome to do so. I think it is going to be hard, and
> making bzr log and bzr uncommit slow just for that seems silly. (Uncommit could
> probably be rewritten more easily since it just shows mainline revs.)

Implementing the replacement index that has been designed will help
substantially because it will:
 * perform forward only IO
 * not bisect anywhere nearly as much.

-Rob
-- 
GPG key available at: <http://www.robertcollins.net/keys.txt>.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20071201/9192eaf9/attachment.pgp 


More information about the bazaar mailing list