> -----Original Message-----
> From: justin.erenkrantz_at_gmail.com [mailto:justin.erenkrantz_at_gmail.com]
> On Behalf Of Justin Erenkrantz
> Sent: zaterdag 4 september 2010 8:33
> To: Greg Stein
> Cc: Johan Corveleyn; Subversion Development
> Subject: Re: Worried about single-db performance
>
> On Fri, Sep 3, 2010 at 8:39 AM, Greg Stein <gstein_at_gmail.com> wrote:
> > It "should" already be faster. Obviously, that's not the case.
>
> I just spent a little bit time with Shark and gdb. A cold run of 'svn
> st' against Subversion trunk checkouts for 1.6 yields 0.402 seconds
> and 1.7 is 0.919 seconds. Hot runs for 1.6 are about 0.055 seconds
> with 1.7 at 0.750 seconds.
>
> One striking difference in the perf profile between 1.6 & trunk is
> that we seem to do a larger amount of stat() calls in 1.7.
>
> From looking at the traces and code, I *think*
> svn_wc__db_pdh_parse_local_abspath's call to svn_io_check_special_path
> may be in play here:
SQLite also does a stat call per statement, unless there is already a shared
lock open, just to check if there is no other process that opened a
transaction.
(On Windows this specific stat to check for other processes operating on the
same db is the performance killer for svn status: Just this stat takes more
than 50% of the total processing).
Bert
Received on 2010-09-04 11:25:56 CEST