On 04.09.2010 11:23, Bert Huijben wrote:
>
>> -----Original Message-----
>> From: justin.erenkra...@gmail.com [mailto:justin.erenkra...@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 <gst...@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).

Hmmm ... easy solution then, just fork off a process that opens the
database and these stats should magically vanish ... :)

-- Brane

Reply via email to