On Fri, Nov 26, 2010 at 11:58 PM, Mark Phippard <markp...@gmail.com> wrote:
> On Fri, Nov 26, 2010 at 8:02 AM, Stefan Sperling <s...@elego.de> wrote: > > On Fri, Nov 26, 2010 at 02:05:55PM +1000, Daniel Becroft wrote: > >> Hi, > >> > >> I'm currently trialling the nightly builds that Stefan is providing for > >> TSVN, which include the new WCNG implementation. So far, it all looks > good. > >> It takes a few minutes extra to checkout a working copy, but the > day-to-day > >> performance difference (to me) is not noticeable. Good stuff! > >> > >> One thing I did notice, though, is the performance of the 'svn upgrade' > >> functionality. It seems to take, on average, 3x longer to upgrade an > >> existing working copy than to just delete and checkout again. > >> > >> Checkout (1.6.x): 9 minutes > >> Checkout (1.7.x): 14 minutes > >> Upgrade (1.7.x): 43 minutes > >> > >> Is this kind of performance hit during an upgrade expected? Is the > >> recommended upgrade option expected to be to use 'svn upgrade' or do get > a > >> fresh checkout? > >> > >> If you need stats regarding the working copy, I can provide them. > > > > Please keep benchmarking and reporting your results. > > The current state of wc-ng development is, AFAIK, that we're still > > working out some final steps in the implementation. We're not yet at > > the point where we're heavily trying to optimize the new code. > > But any report about slowness will help once we've reached that point. > > Keep them coming. > > It seems like Daniel is more asking if this might be indicative of a > bug. Does it ever make sense that svn upgrade would take that long? > Without any need to fetch pristines from the repository as checkout > needs to do, it seems hard to believe that it should take that long. > I can imagine scenarios where we have to calc new checksums or open > and re-read entry data over and over again but 43 minutes? > Daniel, is your working copy on a local hard drive? > Hi Mark, Yes, the working copy is on a local drive. It also has: - 398 .svn folders (some of these are 7 or 8 level deep) - 21,206 *.svn-base files I'm ran another 'svn upgrade' process through Process Monitor (from sysinternals), and have found something interesting. It seems that for every file that gets added (e.g. trunk/A/B/C/alpha.txt), it reads (or scans) the entire contents of the .svn/tmp/wcng/.svn/wc.db file three times (each one on 1024 byte increments). At the moment, this file is approx. 5Mb, and that's 2s in total between accesses to the .svn-base files. I can't see any mention of entries, or pristine in there, so I'm not sure what it's actually doing. THe last successful upgrade I ran (the 43m one) gave an 11Mb file, so I'm not even half-way through. At this point procmon is reporting 14m events, so I had to kill it. When I get a chance, I'll run it again on a smaller WC. Cheers, Daniel B.