bzr too slow
David Allouche
david at allouche.net
Tue Jan 10 15:40:25 GMT 2006
On Tue, 2006-01-10 at 19:23 +1100, Martin Pool wrote:
> On 10 Jan 2006, James Blackwell <jblack at merconline.com> wrote:
> > On Tue, Jan 10, 2006 at 05:43:31PM +1100, Martin Pool wrote:
> > > On 10 Jan 2006, Erik B?gfors <zindar at gmail.com> wrote:
> > > > Hello
> > > >
> > > > When trying to use bzr for real stuff, I've noticed that it's way to
> > > > slow. We have a svn repo that's 45MB and over 6000 files in it. It
> > > > takes 11m46 to run "bzr status".
> > >
> > > That is indeed pretty slow. Could you please run 'bzr --profile status'
> > > in there and report what it says?
> >
> > I'm wondering if he has cElementTree. Can't that affect status?
>
> It shouldn't be that bad. Robert suggests it may be the
> inventory-traversal inefficiency ddaa spoke of a while ago - David,
> could you post your patch please?
By popular demand, I put my bzr branch online. There's not much
interesting there. Most of my performance improvements were superseded
by Geoffredo optimization work. And what's left should not really make a
huge different to status.
http://ddaa.net/bazaar/bzr.ddaa
This branch is based on Martin's bzr.dev. The actual performance
improvements are 1566, 1567 and 1568.
------------------------------------------------------------
revno: 1570
committer: David Allouche <david.allouche at canonical.com>
branch nick: bzr.ddaa.new
timestamp: Tue 2006-01-10 16:14:40 +0100
message:
Save hotshot data to ~/bzr.hotshot
That makes it possible to view the hotshot data using KCacheGrind,
after conversion with hotshot2calltree.
------------------------------------------------------------
revno: 1569
committer: David Allouche <david.allouche at canonical.com>
branch nick: bzr.ddaa.new
timestamp: Tue 2006-01-10 16:09:11 +0100
message:
fetcher: better style, better progress bar
I made similar fetcher improvements as Geoffredo in parallel, but in a
slightly more readable form. Also, my solution provided a more correct
progress bar when restarting interrupted fetches.
------------------------------------------------------------
revno: 1568
committer: David Allouche <david.allouche at canonical.com>
branch nick: bzr.ddaa.new
timestamp: Tue 2006-01-10 15:52:07 +0100
message:
Weave.get_iter raises WeaveInvalidChecksum when iterator is used.
Test cases check (not very explicitly, so that might be
unintentional) that WeaveInvalidChecksum is not raised at iterator
creation.
------------------------------------------------------------
revno: 1567
committer: David Allouche <david.allouche at canonical.com>
branch nick: bzr.ddaa.new
timestamp: Tue 2006-01-10 15:36:18 +0100
message:
Weave.get_lines does not go through get_iter.
That can save _millions_ of function calls on large trees. Iterators
can be harmful to performance when iterating over large lists of small
items, where performance gains of a small active set are less than the
cost of many Python function calls.
------------------------------------------------------------
revno: 1566
committer: David Allouche <david.allouche at canonical.com>
branch nick: bzr.ddaa.new
timestamp: Tue 2006-01-10 15:27:02 +0100
message:
fetcher: remove one underperforming call to Inventory.iter_entries
------------------------------------------------------------
revno: 1565
committer: David Allouche <david.allouche at canonical.com>
branch nick: bzr.ddaa.new
timestamp: Tue 2006-01-10 15:23:55 +0100
message:
add performance comment to Inventory.iter_entries
--
-- ddaa
-------------- 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/20060110/c76dfd5c/attachment.pgp
More information about the bazaar
mailing list