[CMake] Status/use of CMake on Cygwin
Alan W. Irwin
irwin at beluga.phys.uvic.ca
Mon May 20 14:54:19 EDT 2013
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
__________________________
More information about the CMake
mailing list