Boost logo

Boost-Build :

Subject: [Boost-build] Extremely slow gcc launches on Cygwin
From: Emil Dotchevski (emil_at_[hidden])
Date: 2010-08-18 14:43:26


It appears that on Cygwin bjam uses fork() to spawn a new instance of
it when it launches gcc. I have 2 reasons to suspect that: 1) I see a
second bjam.exe in Process Explorer and 2) while building a very very
large Jamfile, every launch of gcc takes *forever*, which can be
explained by the inefficient Cygwin fork() implementation (on Windows,
fork() has to copy all of the memory that belongs to the process.)

If my suspicion is correct, then my question is can the fork() be
replaced by posix_spawn() or some such? If not, what could be causing
the extremely slow gcc launches?

Thanks,

Emil Dotchevski
Reverge Studios, Inc.
http://www.revergestudios.com/reblog/index.php?n=ReCode


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk