Mail Archives: cygwin/2002/07/17/20:25:27
I've posted about this before, but thought I'd send out
this more recent information. Any suggestions on tactics
appreciated...
We used cygwin in a mixed linux/win2k environment. we'd
noticed what looked like ever increasing times to populate
and update a source tree using cvs.
the cvs database is on a 6.2 redhat linux, with a 2.2.17-14smp
kernel on a 1.2GHz AMD system. it has around 25000 files.
the client is also a 1.2GHz AMD system, running win2k.
I was looking at an strace of cvs to see what it was doing,
and got curious about the internals of cvs, seeing some of
output from strace. after downloading the cvs source
distribution, I noticed that I could build it native.
Running the native built cvs against the cygwin cvs, I had the
following results:
cygwin native
cvs co 21m58s 5m25s
cvs update -d -PA 6m45s (2m21s) 1m44s (1m29s)
the time in parenthesis is a back to back update, where (I assume)
the files in question get the benefit of a huge disk cache on my
system. in practice, doing builds of the tree between updates some
portion of the cache and the times end up in the 4 minute range,
where the native seems to hover around 2 minutes.
We're strongly considering switching the team over to the native
cvs to improve update and checkout times (along with the idea of
breaking up the module where it won't complicated the development
process.
Just thought others might be interested in the datapoints, and/or
might have some perspective or tactics I could used to narrow things
down...
as a side note:
There were a number of problems using the native version. It
didn't seem to do as well with the "\r" problems. several windows
text files had been checked into the repository from linux without
having their "\r" removed...the result was a "\r\r\n" sequence in
a modified file after checkout on windows. these files seemed to
be ok using the cvs linked with cygwin.
also, some binary files that were checked in without the -kb flag
and worked ok with the cygwin cvs became corrupted by the native cvs
when it replaced "\n" with "\r\n" in the files.
finally, if you did switch between the two cvs versions, a cvs status
would indicate that some files that had not been touched were modified.
this ended up being caused by differing date formats in the CVS/Entries
files...if a file had a date with a day of the month less than 10, the
cygwin cvs would list it as "month<blank><blank>day", where day is 1-9,
where the native would list it as as "month<blank><zero>day", where <zero>
is the digit "0" and day is once again 1-9.
comments and/or suggestions for further tests or data gathering
appreciated.
thanks.
...myoung
====================================================================
rune> cygcheck -s
Cygwin Win95/NT Configuration Diagnostics
Current System Time: Wed Jul 17 16:34:54 2002
Windows 2000 Professional Ver 5.0 Build 2195 Service Pack 2
Path: C:\Cygwin\bin
C:\Cygwin\bin
C:\Cygwin\usr\perl\bin
C:\Cygwin\usr\local\bin
C:\Cygwin\usr\people\myoung\bin
C:\Cygwin\usr\local\bin
C:\Cygwin\bin
C:\Cygwin\bin
C:\Cygwin\bin
C:\Cygwin\lib
C:\Cygwin\Contrib\bin
c:\PROGRA~1\MICROS~2\Common\msdev98\BIN
c:\PROGRA~1\MICROS~2\VC98\BIN
c:\PROGRA~1\MICROS~2\Common\TOOLS\WINNT
c:\PROGRA~1\MICROS~2\Common\TOOLS
c:\WINNT\system32
c:\WINNT
c:\WINNT\System32\Wbem
c:\Program Files\Rational\common
C:\Cygwin\bin
C:\Cygwin\contrib\bin
c:\Program Files\Microsoft Xbox SDK\Xbox\Bin
C:\Cygwin\usr\people\myoung\emacs\emacs-21.1\bin
C:\Cygwin\usr\local\sce\ee\gcc\bin
C:\Cygwin\usr\local\sce\iop\gcc\bin
C:\Cygwin\usr\local\sce\ee\gcc\ee\bin
C:\Cygwin\usr\local\sce\iop\gcc\mipsel-scei-elfl\bin
c:\PROGRA~1\PRODGF~1
c:\Program Files\Metrowerks\CodeWarrior\bin\dvpasm
c:\DolphinSDK1.0\x86\bin
.
c:\Program Files\Symantec\pcAnywhere
c:\Program Files\Metrowerks\ATtaCK\bin
c:\Program Files\Metrowerks\CodeWarrior\PS2_Tools\Command_Line_Tools
.
.
Win32DxRelease.AS
C:\Cygwin\usr\people\myoung\trees\newgap\tools\ctools
.
SysDir: C:\WINNT\System32
WinDir: C:\WINNT
CYGWIN32 = `tty'
CYGWIN = `tty'
HOME = `C:\Cygwin\usr\people\myoung'
MAKE_MODE = `unix'
PWD = `/usr/people/myoung'
USER = `myoung'
Use `-r' to scan registry
a: fd N/A N/A
c: hd NTFS 43974Mb 90% CP CS UN PA FC
d: cd N/A N/A
e: cd N/A N/A
f: cd N/A N/A
m: hd NTFS 43974Mb 90% CP CS UN PA FC
n: net NTFS 38466Mb 99% CP CS PA data
. /cygdrive user textmode,cygdrive
C:\Cygwin / system textmode
C:\Cygwin/bin /usr/bin system textmode
C:\Cygwin/lib /usr/lib system textmode
. /cygdrive user textmode,cygdrive
Found: C:\Cygwin\bin\bash.exe
Found: C:\Cygwin\bin\cat.exe
Found: C:\Cygwin\bin\cpp.exe
Found: c:\Program Files\Metrowerks\CodeWarrior\bin\dvpasm\cpp.exe
Found: C:\Cygwin\bin\find.exe
Found: C:\Cygwin\bin\gcc.exe
Found: C:\Cygwin\bin\gdb.exe
Found: C:\Cygwin\bin\ld.exe
Found: C:\Cygwin\usr\local\sce\ee\gcc\ee\bin\ld.exe
Found: C:\Cygwin\usr\local\sce\iop\gcc\mipsel-scei-elfl\bin\ld.exe
Found: C:\Cygwin\bin\ls.exe
Found: C:\Cygwin\bin\make.exe
Found: C:\Cygwin\usr\local\sce\ee\gcc\bin\make.exe
Found: C:\Cygwin\bin\sh.exe
58k 2002/05/07 C:\Cygwin\bin\cygbz2-1.dll
621k 2002/05/17 C:\Cygwin\bin\cygcrypto.dll
35k 2002/01/09 C:\Cygwin\bin\cygform6.dll
19k 2002/02/20 C:\Cygwin\bin\cyggdbm.dll
929k 2002/06/24 C:\Cygwin\bin\cygiconv-2.dll
22k 2001/12/13 C:\Cygwin\bin\cygintl-1.dll
23k 2002/06/24 C:\Cygwin\bin\cygintl-2.dll
21k 2001/06/20 C:\Cygwin\bin\cygintl.dll
81k 2001/10/20 C:\Cygwin\bin\cygitcl30.dll
35k 2001/10/20 C:\Cygwin\bin\cygitk30.dll
45k 2002/02/08 C:\Cygwin\bin\cygjbig1.dll
119k 2002/02/09 C:\Cygwin\bin\cygjpeg6b.dll
20k 2002/01/09 C:\Cygwin\bin\cygmenu6.dll
175k 2002/01/09 C:\Cygwin\bin\cygncurses++6.dll
202k 2002/01/09 C:\Cygwin\bin\cygncurses6.dll
12k 2002/01/09 C:\Cygwin\bin\cygpanel6.dll
40k 2001/11/21 C:\Cygwin\bin\cygpcre.dll
39k 2001/11/21 C:\Cygwin\bin\cygpcreposix.dll
175k 2002/05/24 C:\Cygwin\bin\cygpng12.dll
170k 2002/01/21 C:\Cygwin\bin\cygpng2.dll
22k 2002/06/09 C:\Cygwin\bin\cygpopt-0.dll
156k 2002/05/17 C:\Cygwin\bin\cygssl.dll
390k 2001/10/20 C:\Cygwin\bin\cygtcl80.dll
5k 2001/10/20 C:\Cygwin\bin\cygtclpip80.dll
10k 2001/10/20 C:\Cygwin\bin\cygtclreg80.dll
253k 2002/02/10 C:\Cygwin\bin\cygtiff3.dll
623k 2001/10/20 C:\Cygwin\bin\cygtk80.dll
668k 2001/04/09 C:\Cygwin\bin\cygwin1-new.dll
41k 2002/01/20 C:\Cygwin\bin\cygXpm-noX4.dll
46k 2002/01/20 C:\Cygwin\bin\cygXpm-X4.dll
50k 2002/03/12 C:\Cygwin\bin\cygz.dll
883k 2002/07/06 C:\Cygwin\bin\cygwin1.dll
Cygwin DLL version info:
DLL version: 1.3.12
DLL epoch: 19
DLL bad signal mask: 19005
DLL old termios: 5
DLL malloc env: 28
API major: 0
API minor: 54
Shared data: 3
DLL identifier: cygwin1
Mount registry: 2
Cygnus registry name: Cygnus Solutions
Cygwin registry name: Cygwin
Program options name: Program Options
Cygwin mount registry name: mounts v2
Cygdrive flags: cygdrive flags
Cygdrive prefix: cygdrive prefix
Cygdrive default prefix:
Build date: Sat Jul 6 02:16:58 EDT 2002
CVS tag: cygwin-1-3-12-1
Shared id: cygwin1S3
Cygwin Package Information
Package Version
_update-info-dir 00031-1
ash 20020131-1
autoconf 2.53a-1
autoconf-devel 2.53a-1
autoconf-stable 2.13-4
automake 1.6.1-1
automake-devel 1.6.2-1
automake-stable 1.4p5-5
bash 2.05a-3
binutils 20020706-2
bison 1.35-1
byacc 1.9-1
bzip2 1.0.2-2
clear 1.0-1
cpio 2.4.2
cron 3.0.1-7
crypt 1.0-1
ctags 5.2-1
cvs 1.11.0-1
cygrunsrv 0.95-1
cygwin 1.3.12-2
dejagnu 20010117-1
diff 1.0-1
diffutils 2.8.1-1
ed 0.2-1
expect 20010117-1
file 3.37-1
fileutils 4.1-1
findutils 4.1.7-4
flex 2.5.4-2
gawk 3.0.4-1
gcc 2.95.3-5
gdb 20010428-3
gdbm 1.8.0-4
gettext 0.11.2-2
ghostscript 6.51-4
gperf 0.0
grep 2.5-1
groff 1.17.2-1
gzip 1.3.3-3
inetutils 1.3.2-19
irc 20010101-1
jbigkit 1.2-6
jpeg 6b-7
less 374-1
libbz2_1 1.0.2-2
libiconv2 1.8-2
libintl 0.10.38-3
libintl1 0.10.40-1
libintl2 0.11.2-2
libncurses5 5.2-1
libncurses6 5.2-8
libpng 1.2.3-1
libpng12 1.2.3-1
libpng2 1.0.12-1
libpopt0 1.6.4-4
libreadline4 4.1-2
libreadline5 4.2a-1
login 1.4-3
lynx 2.8.4-1
m4 0.0
make 3.79.1-7
man 1.5g-2
mingw 20010424-1
mktemp 1.4-1
mt 2.0.1-1
mutt 1.4-1
ncftp 3.1.3-1
ncurses 5.2-8
newlib-man 20001118-1
opengl 1.1.0-6
openssh 3.4p1-4
openssl 0.9.6d-1
patch 2.5-3
pcre 3.7-1
perl 5.6.1-2
popt 1.6.4-4
postgresql 7.2.1-2
python 2.2.1-1
readline 4.2a-1
regex 4.4
rsync 2.5.5-1
rxvt 2.7.2-10
sed 3.02-1
sh-utils 2.0-2
shellutils 0.0
squid 2.4.STABLE6-1
ssmtp 2.38.7-3
tar 1.13.19-1
tcltk 20001125-1
tcsh 6.11.00-4
termcap 20020403-1
terminfo 5.2-3
tetex-beta 20001218-4
texinfo 4.2-3
textutils 2.0.21-1
tiff 3.5.7-1
time 1.7-1
unzip 5.50-1
vim 6.1-2
w32api 1.5-1
wget 1.8.2-1
which 1.5-1
xpm 4.0.0-2
xpm-nox 4.2.0-1
zip 2.3-2
zlib 1.1.4-1
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
- Raw text -