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