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/

Reply via email to