-----Original Message-----
From: Mikhail Teterin <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
Date: Fri, 20 Dec 2002 14:52:49 -0500
Subject: poor performance -- is Cygwin to blame?..

Hello!

I have a PVM based distributed application. One of the set of computing
tasks is initially distributed to each participating machine.

After that, each machine gets a new task when it returns the results for
the previous one. The Linux box outperforms the Windows XP on the same
hardware -- Dell Dimension 4500 Pentium4 @2.26 GHz -- at the ratio of
325:200... An earlier Dell Dimension 4400 with Pentium 4 @2GHz running
FreeBSD is proportionally slower than the Linux box, but still beats the
Win boxen by far..

Another (older) FreeBSD box running on PentiumII @450MHz is on par with
Win2K on Pentium3 @1GHz.

The computations are NOT memory intensive, but involve a lot of
``double'' number crunching (with log(3), pow(3), exp(3), et al).

The PVM and the computing program are compiled under CygWin on Windows.

The same optimizations flags (-O -march=pentium3 -fomit-frame-pointer)
are used with the same GCC 3.2.x compiler. (On the older FreeBSD, the
march is pentiumpro and the GCC is 2.95.2).
____________________________________________
In my experience with MPI programs, comparing cygwin and linux, message passing takes 
longer under cygwin, but the time may be made up elsewhere, if the compilation is 
truly similar.

You mention that considerable time is spent in log(), pow(), exp() but leave us 
guessing how you implemented them. Then you imply that you think cygwin, rather than 
your math functions, is the speed determining factor, without giving us a means to 
judge.

The glibc versions of these functions are much faster than the newlib versions, 
particularly if you permit the use of <mathinline.h>.  Neither approach the potential 
of pentium4, but the simplest way to speed them up on cygwin is to employ something 
like <mathinline.h>, and to provide your own pow() (or to use a compiler and library 
which targets pentium4).
Tim Prince

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

Reply via email to