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

Re: [TSVN] Perf regression in Status list

From: SteveKing <steveking_at_gmx.ch>
Date: 2004-12-21 20:51:27 CET

Will Dean wrote:

> The attached tiny patch fixes a problem I introduced in my refactoring
> of SVNStatusListCtrl.
> I was creating and destroying an SVNConfig object for each item in the
> command-line response file. I hadn't realised quite how expensive the
> construction of this object is.

Committed in revision 2189.

> Stefan, could you review this very minor change for suitability to go in
> before Thursday? I think it's very low risk.

Very low risk, indeed.

> Interested in the 3000-item directory speed problems which have been
> reported, I have been trying an 'Add' of about 3500 items, which are all
> part of one selection, (rather than in a subdirectory) (i.e. the temp
> response file has about 3500 items in it). This is a major stress test
> of the status list control which, to be honest, it fails, in that it
> takes minutes to load.

Yes, that's true. The more items you select, the slower TSVN gets. Not
just for adds - the same applies to revert, delete, ...

> I do not currently have the expertise in the SVN API to know if there's
> a better way we could do this than 3500 creations of the SVNStatus
> object and calls to GetFirstFileStatus - but I think there probably is.
> Not before Thursday, though...

Definitely not before thursday. But soon after that I guess.
I think we could reduce the calls to SVNStatus by first checking if the
items are in the same folder (which when using the explorer that
_should_ be the case) and then just fetch the status of the parent
folder and filter those out we don't need.
The only way to have files selected from different folders is by using
the search dialog btw - I haven't found another way (yet).
Or, we just could fetch the status of the parent folder, assign the
status to each selected item and then, if someone really called TSVN
from the search dialog fetch the status for each item which hasn't got a
status assigned yet.


   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 Tue Dec 21 20:52:50 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.