Another (unscientific) comparison of Mercurial and Bazaar
Ian Clatworthy
ian.clatworthy at internode.on.net
Wed Aug 1 01:54:22 BST 2007
Fabio Machado de Oliveira wrote:
> My main performance issue would be with the commit command (if I could
> get past the barrier of convincing 200+ people to change their version
> control). A single file commit in a project with 10000 files and 115
> directories:
>
>
>
> 1337607 function calls (1299480 primitive calls) in 32.526 CPU
> seconds
>
> Ordered by: cumulative time
> List reduced from 1023 to 20 due to restriction <20>
>
> ncalls tottime percall cumtime percall filename:lineno(function)
> 1 0.000 0.000 32.526 32.526
> commands.py:368(run_argv_aliases)
> 1 0.002 0.002 32.518 32.518 builtins.py:2187(run)
Yes, the biggest two hot spots in my benchmarking are commit and
branch/checkout.
I've been working on commit with lots of help from people much smarter
than me and there is a solid understand of what still needs to be done.
I've temporarily switched focus to documentation because we need more
structure/quality there right now but I expect to be back on commit
performance in the next week or two.
BTW, if you haven't already, try the graphical profiling view given by
KCacheGrind. I've attached a sample showing the latest bzr.dev (with the
pyrex stuff compiled) running commit on a mozilla-ish tree (~ 50k files)
with quite shallow history (~ 10 revisions). It would be interesting to
see the same on your tree with your history. If you want to find that,
it's as easy as this:
bzr --lsprof-file callgrind.out.ci commit -m "blah"
kcachegrind callgrind.out.ci
As you'll see from the attached, _populate_from_inventory() takes 57% of
the overall time. That will dramatically drop once that routine is
replaced by a far more efficient way of doing things. If you're keen to
help at all, let me know.
Ian C.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: commit-profile.png
Type: image/png
Size: 135222 bytes
Desc: not available
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20070801/cc4ab2a4/attachment-0001.png
More information about the bazaar
mailing list