[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: SteveKing <steveking_at_gmx.ch>
Date: 2004-10-29 22:49:57 CEST

Will Dean wrote:

> 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 cache.

/me thinking that you're right.

> 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 worthwhile.

I'll have a look at that this weekend. We have to be very careful with
'\' and '/' because Windows likes '\', but Subversion _only_ knows '/'
(Windows API's usually can deal with both, not all though).

> 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?

No, I don't have such a testsuite. If I had one, you wouldn't find so
many performance optimizations ;)

> 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.

I only deal with the Subversion API and leave the apr stuff to that. I
once had a look at apr, but I couldn't get used to it...
Don't know if you can get apr to change though - the guys over there are
sometimes more picky about changes than the Subversion people (even
though many work on both projects).

> 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...

Subversion as well as apr are optimized for smaller files. Apr is
because it's an Apache project and for a webserver, the files are
usually very small. Subversion is because it uses apr...

2gigs? What are you storing in there?
/me wondering how big your repository already is and if such big
harddrives even exist?

Stefan

-- 
        ___
   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 Fri Oct 29 23:59:35 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.