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: cygwin fork()


On Fri, Sep 01, 2006 at 11:12:59AM +0100, Dave Korn wrote:
> On 01 September 2006 11:02, clayne@anodized.PCYMTNQREAIYA wrote:
> 
> > Is it just me or is cygwin fork(), or a support syscall underneath,
> > terribly slow for some reason? 
> 
>   Some reason == "lack of O/S support".

Basically, this is what I'm talking about:

Opteron 180, fast disks, ran make clean, make 4 times or so to keep the
disk/mem/cpu caches hot; no extraneous system usage going on:

$ ( make clean; time make -j1 ; make clean; time make -j8 ) >/dev/null

real    2m20.062s
user    0m13.252s
sys     0m37.139s

real    0m45.654s
user    0m15.968s
sys     0m49.201s

That's a huge difference, and it's only like 6300 lines of code!  I've
narrowed it down to something between 20060309 and 20060313 snapshots. Every
snapshot since 20060313 has had this incredible slowness issue with fork().

The dual-coreness isn't going to make a huge difference here as I can get
the same factor of speed up just by using 20060309's dll and the exact
same make jobs. Nor is it a case of minor differences in times. I've tried
different versions of libtool, gcc, etc. Everything just goes back to
20060309 vs 20060313.

-cl

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


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