Why is cygwin cvs client so slow?

Christopher Warth csw@broadcom.com
Wed Jan 5 02:30:00 GMT 2005


Can anyone speculate as to why cygwin cvs is so much slower than their
native windows equivalents?  

In short, 'cvs update' using cygwin cvs takes 7-9 times as long to do
the same task as a non-cygwin port of cvs from www.cvshome.org/.

To update a missing directory that contains almost 3000 files, cygwin
cvs takes more than 21 minutes.  The 'native' cvs from cvshome.com takes
just under 3 minutes to do the same thing on the same file system, from
the same server.  Details are below.

Am I missing some environment variable, like export CVS_GO_FAST="yes"?
I hope 700% degradation in performance is too steep a price to pay for
unix-like tools.

-csw at well dot com



# all filesystems are mounted in text mode.
#
$ mount
C:\cygwin\bin on /usr/bin type system (textmode)
C:\cygwin\lib on /usr/lib type system (textmode)
C:\cygwin on / type system (textmode)
c: on /cygdrive/c type system (textmode,noumount)
p: on /cygdrive/p type system (textmode,noumount)
z: on /cygdrive/z type system (textmode,noumount)

# current directory is on am SMB share (served by Samba, I believe)
#
$ pwd
/cygdrive/z/home/user/tot/src/wl

# I am using pserver served by a linux box
#
$ echo $CVSROOT
:pserver:user@somemachine:/projects/cvsroot

# I have up-to-date packages
$ cygcheck -c 
Cygwin Package Information
Package              Version            Status
[...]
base-files           3.1-4              OK
[...]
coreutils            5.2.1-5            OK
[...]
cvs                  1.11.17-1          OK
cygutils             1.2.5-1            OK
cygwin               1.5.12-1           OK
[...]


# the cvs from cygwin is version 1.11.17
$ cvs -v

Concurrent Versions System (CVS) 1.11.17 (client/server)
[...]

# remove a directory and let cvs update it again.
$ rm -rf locale
$ time cvs update -d locale
[...2982 files...]
real    21m20.478s
user    0m7.765s
sys     0m38.546s


# the cvs from cvshome.com is also version 1.11.17
$ cyclic-cvs -v

Concurrent Versions System (CVS) 1.11.17 (client)
[...]

# remove a directory and let cvs update it again.
$ rm -rf locale
$ time cyclic-cvs update -d locale
[...2982 files...]
real    2m55.287s
user    0m0.015s
sys     0m0.000s





--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list