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

Re: [TSVN] Another go at a patch for SVNFolderStatus

From: Will Dean <svn_at_indcomp.co.uk>
Date: 2004-10-29 22:36:24 CEST

At 17:32 29/10/2004 +0200, you wrote:

>But I don't know exactly what you mean by doing the conversion before
>caching the path names. Where exactly would you do that?

I was thinking that in fillstatusmap, you would convert from / to \ before
putting the item into the cache. (In the if (path) {} ) bit near the
bottom of the function.

That way, the cache would contain '\' paths rather than '/' paths, and you
wouldn't need to do the conversion for a cache hit, only when loading the

BuildCache would cope with '\' paths already, bar the const TCHAR * p =
_tcsrchr(filepath, '/'); line, which would need to check for a '\'.
, so it wouldn't mind. (You might also need to look at the m_cache.find at
the bottom, to check that it still made sense, though I think it does.)

But I don't *really* think that the \ to / conversion is an important
factor in performance! If it didn't make the code any more complex (just
moved the conversion from one place to another), then it might not be a bad
thing. Every microsecond we can avoid stealing from the shell seems

It's a pity that it's so difficult to profile the shell extension - do you
have any kind of test-harness which can host it 'standalone', and submit
some kind of test workload?

I'm going to turn my attention to SVN shortly - I think there might be some
*very* low-hanging fruit there in terms of performance, particularly on
large files. apr_file_copy, running on Win32, copies files in 512 (!) byte
chunks, which is just crazy.

We have a 2-gig working copy, with many, many files between 1M and 2M in
size, and frankly some aspects of SVN performance are not that brilliant...



To unsubscribe, e-mail: dev-unsubscribe@tortoisesvn.tigris.org
For additional commands, e-mail: dev-help@tortoisesvn.tigris.org
Received on Fri Oct 29 23:39:34 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.