[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: [TSVN] Another commit dialog perf patch

From: SteveKing <steveking_at_gmx.ch>
Date: 2004-12-16 12:36:48 CET

Will Dean wrote:

> Here's another set of patches which improve efficiency of the commit-log
> dialog.
> Have saved a bit of PathIsDirectory calling by using the value from the
> FindNextFile.
> A few other changes mainly to try and avoid too much CString chatter.

Committed in revision 2136, with some Doxygen comments added to the headers.

> I am still concerned about the 'check for files which differ only in
> case' stuff in ListCtrl::Stat() - this loop just explodes given half a
> chance. One of my test sets has about 32000 files in, and even though
> nearly all of these are in unversioned folders, it still ran that loop
> in Stat over 3 million times, though admittedly it didn't do much in it.

So you don't have the svn:ignore property set on those unversioned
folders? In that case, yes. The loop 'grows' a lot.

> On a largeish WC I have, that loop runs about 1 million times, and did
> seem to do rather more - stat() took about 10% of the run time. (70%
> was in the SVN get status call).
> Maybe it's now down in the noise and I shouldn't care anymore, but
> offends me to see something running N-squared for a large 'N' when I
> think it could probably be NLog(N) for a very small N. Something to
> think about for the future, anyway.

One 'solution' would be to remove that check completely and just tell
people to install the pre-commit hook which checks for such
case-renames. But I guess most people would object to that idea...


   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.tigris.org
To unsubscribe, e-mail: dev-unsubscribe@tortoisesvn.tigris.org
For additional commands, e-mail: dev-help@tortoisesvn.tigris.org
Received on Thu Dec 16 12:38:16 2004

This is an archived mail posted to the TortoiseSVN Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.