This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Compile time Local Cygwin vs. VMware session on same system


I've been happily using cygwin for many years but I recently loaded VMware on my system and it seemed pretty snappy, so much so I decided to see how it compared to native execution.? I was surprised to see that I could compile much faster under VMware than on Cygwin on the same host.? 
?
I pasted a short script (bottom of message) that I hope one could just cut and run to verify my results.? To get a generally accessibly benchmark I download and time the compile binutils-2.18.
?
My initial results where so skewed that I downloaded an updated cygwin.dll (1.5.24.2 -> 1.5.25.2) but after the upgrade my performance dropped further.? Here are my results:
?
Compile binutils-2.18 (vanilla configure and make)
?
??? Cygwin (cygwin.dll version 1.5.25.15) (from time)
??????????? real??? 19m36.301s
       user??? 13m45.618s
       sys???? 5m31.415s
       ?
??? Cygwin (cygwin.dll version 1.5.24.2) (from time)
??????? ??? real??? 12m35.622s
??????? ??? user??? 13m56.539s
??????? ??? sys???? 6m57.319s
?
??? VMWare (Linux opensuse-vm 2.6.22.9-0.4/openSUSE 10.3 (i586))
??????? ??? real??? 3m9.116s
??????? ??? user??? 1m31.326s
??????? ??? sys???? 1m27.417s
?
So there is a 4-6x slowdown under native execution under cygwin, the performance for remote compiles (either SMB or NFS mounted) is even slower, somewhere in the neighborhood of 35-40 minutes to compile vs. 10 minutes under VMware.
?
This script may not be perfect but here it is:
# run like this:
#???? bash -x doit.sh <obj-dir> <src-dir>
#
LEVEL=binutils-2.18
SRCDIR=$2
START=$PWD
?
if test -e $SRCDIR/$LEVEL.tar.gz
then
echo "No download needed"
else
??? cd $SRCDIR
??? wget ftp://ftp.gnu.org/gnu/binutils/$LEVEL.tar.gz
??? cd -
??? mkdir $SRCDIR/src
??? cd $SRCDIR/src
??? tar zxvf $SRCDIR/$LEVEL.tar.gz
??? cd $START
fi
?
mkdir $1
cd $1
rm -rf *
$SRCDIR/src/$LEVEL/configure
time make


--
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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]