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

Re: [TSVN] Commit dialog perf patch

From: SteveKing <steveking_at_gmx.ch>
Date: 2004-12-16 10:33:09 CET

Will Dean wrote:

> The attached *draft* patch contains a number of things which improve the
> performance of the commit dialog.

Does *draft* mean you don't want this to be committed?

> Things I discovered:
> 1. Looking-up icon-indices for the listview items is very slow (this
> probably depends on how many registered file types there are on a
> machine). I have added a cached which keys a map on file extension to
> improve this somewhat. (It makes a huge difference in the rather
> artificial situation where one toggles the 'show unversioned' checkbox
> on and off a lot, but a useful difference otherwise.)

That one looks really good.

> 2. I've tried to improved the efficiency of some very heavily used
> operations, like the UTF conversion routines and checking against ignore
> lists. I'd appreciate a review of some of this.

SVNConfig: great catch! Your method really is a lot faster. I added some
more comments (Doxygen comments) to the header file for documentation.

UnicodeUtils: I'm not sure if using a CStringA really is faster than
what we do now? But it looks good (and it works ;) ). So I'll leave it in.

DirFileEnum: Never noticed that we forgot the & - a very good fix!

> 3. I've cleaned-up a few places where functions were being passed 'const
> CString blah rather than const CString& blah. The MFC/ATL CString
> actually uses refcounting, so inadvertent copies like this are actually
> very cheap, but I don't think that const CString blah was the intention.

You're right, const CString wasn't intended. Seems we forgot to add the
& ;-O

> Now that the Stat() function is not doing is 100 million string
> compares, there doesn't seem to be any particular pressure in this area,
> so I've not changed anything else there.

Yes, I guess since this bugfix the performance of the commit dialog
depends mostly on fetching the status, i.e. on the Subversion library
call. So not much to improve for us anymore.

Are you ok if I commit your patch? (beware of conflicts when you update,
since I added some comments to your patch).


   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 10:34:55 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.