bzr too slow

John Arbash Meinel john at arbash-meinel.com
Tue Jan 10 16:02:57 GMT 2006


David Allouche wrote:
> 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.

I'm getting 'HTTP Error 403: Forbidden' whenever I try to download from
that link.

Is it just a permissions issue?

> 
> ------------------------------------------------------------
> 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.

I was the one who wrote it. I don't really care when it is called. At
the time we only used iterators, and we wouldn't know until we were
done. I just care that it gets raised at *some point* when the checksum
is checked.

> ------------------------------------------------------------
> 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.

Interesting. Do you have specific profiling/statistics on this? I'm
curious what it does to some of my tests, where I saw that the #1
expense for weave was _extract().

> ------------------------------------------------------------
> 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
> 

John
=:->


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 256 bytes
Desc: OpenPGP digital signature
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20060110/0e07fb03/attachment.pgp 


More information about the bazaar mailing list