On 2013-05-20 11:50+0200 marco atzeri wrote:

Il 5/20/2013 11:01 AM, Alan W. Irwin ha scritto:
On 2013-05-20 07:51+0200 marco atzeri wrote:

the slowness at startup on cywin is mainly due the fork
implementation
http://cygwin.com/faq/faq-nochunks.html#faq.api.fork

unfortunately windows makes a real fork implementation very inefficient.

Hi Marco:

Your explanation sounds reasonable since it appears all new processes
are started with fork, but do you have a reference for that conclusion
that gives more specifics? All the above URL says is that fork can be
"a little slow" on Cygwin with no timing specifics.

"a littel slow" is an euphemism

$ while (true); do date; done | uniq -c
    11 Mon, May 20, 2013 11:38:10 AM
    11 Mon, May 20, 2013 11:38:11 AM
    11 Mon, May 20, 2013 11:38:12 AM
    11 Mon, May 20, 2013 11:38:13 AM
    11 Mon, May 20, 2013 11:38:14 AM
    11 Mon, May 20, 2013 11:38:15 AM
     8 Mon, May 20, 2013 11:38:16 AM
     6 Mon, May 20, 2013 11:38:17 AM

on Linux this is around 20-50 times faster.

That factor is in pretty good agreement with the factor of 25 I find
for "-version" tests, but my experience is the long commands in a
typical build/test mitigate the effect somewhat so the overall
build/test slowdown for MSYS (or Cygwin) compared to Linux is
typically a factor from two to four rather than a factor of 25. Thus,
it is still a fairly large inefficiency for builds/tests using MSYS
(and presumably Cygwin) but I don't view it as an MSYS showstopper
because such factors are not that bad (I could alwasy buy new hardware
if I get really bothered by it) and since the access to bash.exe and
other common GNU system commands that are in MSYS makes implementing
cross-platform tests _much_ easier for me.


We also noted that Windows 64 bit platforms are slower than
previously Windows 32 bit platforms

see
http://cygwin.com/ml/cygwin/2011-07/msg00354.html
and similar on cygwin mailing list.

Thanks for pointing out that interesting thread.  Later in the thread
there was a patch introduced to make Cygwin on Windows 64 bit
platforms as efficient as for the 32-bit case (which, of course, is
not that good a standard of efficiency because of the fork situation).
It sounded like that patch was accepted.  All my own MSYS startup
latency timing results are for 32-bit Wine (on standard Intel x86-64
64-bit hardware).  At some point I am going to try 64-bit Wine to test
whether the startup latency is the same as the 32-bit Wine case.  I
expect it to be the same, but you never know until you try it.

Alan
__________________________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__________________________

Linux-powered Science
__________________________
--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to