You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Glenn Serre <ga...@spiresoftware.com> on 2006/03/07 07:21:21 UTC

slow checkout on windows client

Good evening,

We have just switched our development project from CVS to Subversion.

There are about 3500 files in lots of subdirectories, and from my point of view,
the switch is going pretty well.  The biggest user question so far is why is
checkout so slow compared to CVS, and even more, why is it so slow compared to
Subversion on Linux?  I couldn't find much recent (after 2004) discussion about
this on the mailing list or the FAQ, but if someone has a pointer to some
documentation or discussio bn, I'de happy to have it.

More detail on our setup:

Access method: svn+ssh.

Windows client: cygwin subversion (1.2.3) and cygwin ssh (OpenSSH_4.3p1).

Linux client: svn version 1.2.3, fsfs

Our source code checkout from Subversion (including the .svn directories) is
about 250Meg.

Our time for svn checkout from the local network is ranges from 10 to 20
minutes.  My time for svn checkout over a slower DSL line (I work from home)
also ranges from about 10 to 20 minutes.

The time for svn checkout on the local network on a Linux client (not the server
machine) was reported to be 42 seconds!

 From a previous, relatively short subversion email thread (in 2004, I think) I
might say that the checkout time for Subversion on Windows is longer than the
equivalent time for CVS because

- SVN writes the entire original file to local disk.
- SVN writes more files to local disk
- SVN writes does more setting of modification times and access lists (?).

As to why Linux is so much faster than Windows, I would guess that Linux file
system optimization is just a closer match with what Subversion uses that is the
Windows file optimization, although I guess there's a possibility that the
Windows client could use some optimization work (?).

Other data: Running the 1.3.0 Windows client from the command prompt rather than
the cygwin shell appears to yield some performance improvement, but nothing as
dramatic as the Windows vs. Linux difference.

Questions:
- Any pointers on how to speed up the Windows checkout performance?
- Does the Linux vs Windows performance difference seem reasonable (in line with
experience)?
- Anything I can do to help with speeding up the Windows client performance (I'm
willing to invest a some development time on this).
- other comments?

Thanks in advance for your time,
--Glenn S.




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

Re: slow checkout on windows client

Posted by Ryan Schmidt <su...@ryandesign.com>.
On Mar 7, 2006, at 08:21, Glenn Serre wrote:

> Our source code checkout from Subversion (including the .svn  
> directories) is
> about 250Meg.
>
> Our time for svn checkout from the local network is ranges from 10  
> to 20
> minutes.  My time for svn checkout over a slower DSL line (I work  
> from home)
> also ranges from about 10 to 20 minutes.
>
> The time for svn checkout on the local network on a Linux client  
> (not the server
> machine) was reported to be 42 seconds!

TortoiseSVN says Windows should be "about 2x slower" than Linux:

http://tortoisesvn.sourceforge.net/node/41

This thread from 2005 suggests an even bigger skew closer to the one  
you're seeing:

http://svn.haxx.se/users/archive-2005-04/1548.shtml

Possibilities suggested in that thread:

- Ethernet duplex settings locally and on the switch
- svn:eol-style conversion
- Google Desktop or other local indexing software
- Local virus-scanning software
- A Neon compilation option

A final resolution to the issue does not seem to be reached in that  
thread though.

Part of the reason why many people aren't concerned with checkout  
time is that you don't check out very often. You check out once, then  
work on that working copy for weeks or months. If you're interested  
in investing a little work, one workaround I can think of would be to  
offer a downloadable working copy from a web server, which would be  
kept in-sync with the repository via a post-commit hook. Before you  
go to the effort of writing the script, a good test would be to  
simply check out the working copy (on Linux or Windows), archive it  
up into a single (zip / tar / tar.gz / tar.bz2 / 7zip / rar /  
whatever) file, move it to the Windows machine, and decompress it,  
and see if the decompression process is quicker than the checkout  
process. Depending on the degree of speed-up you can decide whether  
the automated script is worth your time.


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

RE: slow checkout on windows client

Posted by Res Pons <po...@hotmail.com>.
I posed the same question/problem a while back.  Our project is about 288MB+ 
We too switched from CVS to SVN.  We're a Windows client/server with Linux 
enterprise repository configuration as well.  In all fairness SVN only 
slightly takes longer than CVS at a cmnd prompt.  A complete & clean  check 
out at a Dos prompt takes about 20-25 minutes.

However, I do my check outs now via Tortoise and it really cuts down on the 
check out time, like 10-15 minutes [don't ask me why, I wouldn't know!!], 
try it.  I only use the SVN-CLI for miscelaneous stuff.

----Original Message Follows----
From: Glenn Serre <ga...@spiresoftware.com>
To: users@subversion.tigris.org
Subject: slow checkout on windows client
Date: Mon, 06 Mar 2006 23:21:21 -0800
MIME-Version: 1.0
Received: from tigris.org ([64.125.133.100]) by bay0-mc4-f7.bay0.hotmail.com 
with Microsoft SMTPSVC(6.0.3790.211); Mon, 6 Mar 2006 23:21:27 -0800
Received: (qmail 29808 invoked by uid 5000); 7 Mar 2006 07:21:18 -0000
Received: (qmail 29788 invoked from network); 7 Mar 2006 07:21:17 -0000
X-Message-Info: JGTYoYF78jG25vXt5q/dn+R1qdvcCmJ1wdVFEOQgMpY=
Mailing-List: contact users-help@subversion.tigris.org; run by ezmlm
Precedence: bulk
X-No-Archive: yes
list-help: <ma...@subversion.tigris.org>
list-unsubscribe: <ma...@subversion.tigris.org>
list-post: <ma...@subversion.tigris.org>
Delivered-To: mailing list users@subversion.tigris.org
User-Agent: Mozilla Thunderbird 1.0.7 (Windows/20050923)
X-Accept-Language: en-us, en
Return-Path: users-return-46081-pons32=hotmail.com@subversion.tigris.org
X-OriginalArrivalTime: 07 Mar 2006 07:21:27.0151 (UTC) 
FILETIME=[BF557FF0:01C641B7]

Good evening,

We have just switched our development project from CVS to Subversion.

There are about 3500 files in lots of subdirectories, and from my point of 
view,
the switch is going pretty well.  The biggest user question so far is why is
checkout so slow compared to CVS, and even more, why is it so slow compared 
to
Subversion on Linux?  I couldn't find much recent (after 2004) discussion 
about
this on the mailing list or the FAQ, but if someone has a pointer to some
documentation or discussio bn, I'de happy to have it.

More detail on our setup:

Access method: svn+ssh.

Windows client: cygwin subversion (1.2.3) and cygwin ssh (OpenSSH_4.3p1).

Linux client: svn version 1.2.3, fsfs

Our source code checkout from Subversion (including the .svn directories) is
about 250Meg.

Our time for svn checkout from the local network is ranges from 10 to 20
minutes.  My time for svn checkout over a slower DSL line (I work from home)
also ranges from about 10 to 20 minutes.

The time for svn checkout on the local network on a Linux client (not the 
server
machine) was reported to be 42 seconds!