You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Jeff Barrett <jb...@finaplex.com> on 2007/03/14 19:20:15 UTC

Do working copies "cache" information?

If I have a good sized working copy (11k files, 200mb) checked out on 
windows that has not had any svn operations performed on it for a while, 
it will take 5+ minutes to perform an "svn status" or "svnversion" 
However, once that 5+ minute invocation of "svn status" has completed, 
if I run it again it takes < 5 seconds.

I'm assuming there is local caching on disk, am I right?  How does it 
work?  Are there things I can do to make it faster for SVN to 
create/update that cache?  We've already done things like disabled 
Windows file-system indexing and turned off virus checkers.

Thanks.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Do working copies "cache" information?

Posted by Neil Obremski <we...@gmail.com>.
Have you disabled the "NTFS Last Accessed Update"?  I've always found this
to help considerably on machines where folders can have tens of thousands of
files.

Disable by going to the registry key "HKEY_LOCAL_MACHINE\ System\
CurrentControlSet\ Control\ FileSystem" and setting a new DWORD called
'NtfsDisableLastAccessUpdate' to '1'.  I believe you'll have to reboot
afterwards.


On 3/14/07, Jeff Barrett <jb...@finaplex.com> wrote:
>
> If I have a good sized working copy (11k files, 200mb) checked out on
> windows that has not had any svn operations performed on it for a while,
> it will take 5+ minutes to perform an "svn status" or "svnversion"
> However, once that 5+ minute invocation of "svn status" has completed,
> if I run it again it takes < 5 seconds.
>
> I'm assuming there is local caching on disk, am I right?  How does it
> work?  Are there things I can do to make it faster for SVN to
> create/update that cache?  We've already done things like disabled
> Windows file-system indexing and turned off virus checkers.
>
> Thanks.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org
>
>

Re: Do working copies "cache" information?

Posted by Phillip Susi <ps...@cfl.rr.com>.
Jeff Barrett wrote:
> If I have a good sized working copy (11k files, 200mb) checked out on 
> windows that has not had any svn operations performed on it for a while, 
> it will take 5+ minutes to perform an "svn status" or "svnversion" 
> However, once that 5+ minute invocation of "svn status" has completed, 
> if I run it again it takes < 5 seconds.
> 
> I'm assuming there is local caching on disk, am I right?  How does it 
> work?  Are there things I can do to make it faster for SVN to 
> create/update that cache?  We've already done things like disabled 
> Windows file-system indexing and turned off virus checkers.
> 
> Thanks.


For details you should read the svn book, but yes, svn caches a pristine 
copy of each file to compare your changes against when you do, for 
instance, svn diff.

An svn status command must first check the timestamps on all the files 
in the wc against the saved timestamps in the .svn directories.  If you 
have 20,000 files, fetching all of those timestamps can take quite some 
time with a cold cache.  I know of nothing that can tune windows/ntfs to 
perform better with this kind of workload.  Most filesystems perform 
very poorly with large numbers of small files.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Do working copies "cache" information?

Posted by Les Mikesell <le...@gmail.com>.
Jeff Barrett wrote:
> If I have a good sized working copy (11k files, 200mb) checked out on 
> windows that has not had any svn operations performed on it for a while, 
> it will take 5+ minutes to perform an "svn status" or "svnversion" 
> However, once that 5+ minute invocation of "svn status" has completed, 
> if I run it again it takes < 5 seconds.
> 
> I'm assuming there is local caching on disk, am I right?  How does it 
> work?  Are there things I can do to make it faster for SVN to 
> create/update that cache?  We've already done things like disabled 
> Windows file-system indexing and turned off virus checkers.

Subversion doesn't cache any of this at the application level between 
runs, but the OS/filesystem would.  Adding more RAM might make this 
cache live longer before being flushed out by other activity on the machine.

-- 
   Les Mikesell
    lesmikesell@gmail.com

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org