> -----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). Bert