<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Ian Clatworthy escreveu:
<blockquote cite="mid46AFD9BE.7040001@internode.on.net" type="cite">
<pre wrap="">Fabio Machado de Oliveira wrote:
</pre>
<blockquote type="cite">
<pre wrap="">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)
</pre>
</blockquote>
<pre wrap=""><!---->
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.
</pre>
</blockquote>
Hi Ian,<br>
<br>
I'm not likely to help, but I really appreciate your work.<br>
This is my callgrind file.<br>
<br>
Fábio<br>
<br>
</body>
</html>