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

Re: [TSVN] Technical questions on status caching

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

Laurent CHASTEL wrote:
> I forget the attachment.
> Find herewith my implementation of the cache.

Some things I noticed in your cache implementation:

- do you call svn_utf_initialize() after you create your apps main pool
(m_pool)? If not, then you will experience a dramatic slowdown because
then Subversion loads and unloads three *.so modules for every file it
finds up to three times. For 3000 files that can mean (3000*3*3) 18'000
times loading a dll and unloading it again. You can imagine how that
affects performance...
- The method getSVNStatusForFiles() isn't very efficient. Yes, you open
the working copy with svn_wc_adm_open2() once and then you read the
status of files. But that's what's not efficient. svn_wc_status() reads
the entries file every time you call it. The only thing you gain by
calling svn_wc_adm_open2 first is that the working copy is locked once
and stays locked. But the file accesses (which is the extensive part)
isn't reduced much. You should call svn_client_status() on the parent
folder of the filelist - it will be faster even if you have to fetch the
status of the working copy root recursively and filter out the files you
don't want!


   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:13:33 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.