Hyrum Wright <hyrum.wright_at_wandisco.com> wrote:
> On Fri, Jul 30, 2010 at 3:03 AM, Hans-Emil Skogh
> <Hans-Emil.Skogh_at_tritech.se> wrote:
> >>>>>> I just tried the latest nightly, and it is giving me some pretty
> >>>>>> severe
> >>>>>> performance problems.
> > ...
> >> Don't forget that the nightly is built using WC-NG which is still
> >> quite a lot slower than the 1.6 WC.
> >
> > True.
> >
> > Could be the reason. I really hope that the SVN guys gets a grip on the
> > performance issues in the WC-NG code. Right now it's quite slow when working
> > with big WC:s... :-/
> >
> >> Not sure why explorer should stop responding though.
> > That was what triggered my reaction. But it is well possible that the
> > problem has been there ever since we started linking against the new SVN
> > trunk, just that I didn't notice it.
>
> Do you have any insight into the nature of your working copies which
> might allow us to better understand where the bottlenecks are?
A quick run of callgrind produces strong evidence that
the problem is the presence of files and folders in
the working copy. For every node, there is a call to
* assemble_status, svn_wc__get_prestine_props and
get_dir_status; all in turn calling
* svn_wc__db_read_info; each call making 3 calls to
* svn_sqlite__step, svn_sqlite__get_statement,
svn_sqlite__reset (amongst others)
As a result, for each file or folder node in the wc,
almost 30 calls to sqlite3_step / sqlite3VdbeExec has
to be processed. Only 7% of the svn st runtime is seem
to be spent outside of this.
The core problem is that no equivalent to the caches
in the old wc code has been introduced, yet. One way
to fix that would be performing SQL queries on the
folder level and passing the query results to the
per-node functions. Once this is done, the performance
should be close to 1.6, again. Today, we are 15x off - under LINUX. It may well be worse under Windows.
-- Stefan^2.
------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=757&dsMessageId=2641411
To unsubscribe from this discussion, e-mail: [dev-unsubscribe_at_tortoisesvn.tigris.org].
Received on 2010-08-01 15:00:28 CEST