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

RE: [TSVN] More on Commit dialog performance

From: Will Dean <svn_at_indcomp.co.uk>
Date: 2004-12-16 09:44:34 CET

At 09:26 16/12/2004 +0100, you wrote:

>Windows Listcontrols get terribly slow when you add a lot of strings to
>them, because their memory managament for strings is crap.

Do you mean listbox or listview control? I'm not convinced that their
memory management is 'crap', it's just that it's A) generic, and B)
involves creating a second copy of all your data.

>There are two things (at least in Delphi) that can speed up listcontrols a
>lot.
>1) Use the listcontrols BeginUpdate before adding strings and EndUpdate
>afterwards. That makes the listcontrol *not* fire all the events associated
>with adding a single entry. If you know you are going to add many strings to
>the listcontrol, do this for 10-20 entries in a batch.

Steve already does this - this is certainly the biggest performance win.

>2) Use a virtual listcontrol instead that does not handle the strings
>itself.

Yes, that might well be better for big commits (for example), because the
data is already all loaded into memory. That said, most of the time spent
loading the commit listview is currently spent looking up icons for the files.

I am about to post a patch which fixes some of this, though I haven't
bothered to go to a virtual scheme, which is a load more hassle.

Will

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tortoisesvn.tigris.org
For additional commands, e-mail: dev-help@tortoisesvn.tigris.org
Received on Thu Dec 16 09:45:41 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.