[CMake] Status/use of CMake on Cygwin

Kenneth Boyd zaimoni at zaimoni.com
Mon May 20 12:52:31 EDT 2013


On 5/20/2013 4:01 AM, Alan W. Irwin wrote:
> 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.
>
> Assuming this is the complete explanation for Cygwin startup latency,
> I assume it is also the explanation of the MSYS bash.exe startup
> latency (factor of 25 slowdown for startup) for all commands that I
> found on Wine (a version of Windows whose developers try very hard to
> make an exact clone of Microsoft Windows).  The inefficient fork
> explanation would also predict that commands executed under bash.exe
> on Microsoft Windows would also show the same startup latency issue.
>
> Can somebody with access to MSYS bash.exe on Microsoft Windows verify
> that startup latency by timing "--version" options for standard
> commands such as cmake?  If such times on a normal PC are hundreds of
> milliseconds than you have confirmed the issue, but if they are only a
> few milliseconds (8 on Linux, for example, for my entry level PC
> hardware), then you have shown the issue doesn't exist for Microsoft
> Windows which would contradict the above inefficient fork explanation.
sh-3.1$ time gcc --version
gcc.exe (4.3.3-tdm-1-dw2 mingw32) 4.3.3-dw2
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


real    0m0.028s
user    0m0.000s
sys     0m0.015s

Kenneth


More information about the CMake mailing list