This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: fork and exec (was: Re: Proposed patch to system.XWinrc)


On Wed, 1 Jul 2009 11:11:56 -0400, Christopher Faylor
<cgf-use-the-mailinglist-please@cygwin.com> wrote:
> On Wed, Jul 01, 2009 at 06:55:35AM +0100, Andy Koppe wrote:
>>2009/6/23 Christopher Faylor:
>>>>If posix_spawn() ever gets implemented in Cygwin to
>>>>avoid the slowness of fork(), /bin/sh might well change to the first
>>>>shell that supports it.
>>>
>>> It's really somewhat of an urban myth about Cygwin's fork being slow.
>>> Cygwin's exec is also pretty slow. ??I'm not really sure that
>>> posix_spawn
>>> would cause any kind of performance improvement.
>>
>>Ah, right. So is it Windows' CreateProcess() itself that's slow? Or is
>>it some of the additional stuff that exec() needs to deal with?
>>Signals? The hidden console?
> 
> The majority of the exec code is in spawn.cc - spawn_guts().  You can
> see for yourself that this is not a simple function.
> 
> Just remember that neither fork nor exec have native Windows analogues.
> 
> cgf
> 
About that I wanted to make some benchmark with strace and give you figures
about cygwin
running on Windows 7 64 bits and Windows XP 32 bits.Unfortunately I have
only installed natively Windows 7
and I did my test in a Virtual machine but I got some weirds figures where
it was also very slow on XP.
If some people have Windows XP and windows vista (32 or 64 bits) on the
same machine it could be interesting to provide some benchmarks.

and when I say benchmark I want exactly the same machine running the same
cygwin version or it won't be very relevant.



--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]