Boost logo

Boost-Build :

From: K. Noel Belcourt (kbelco_at_[hidden])
Date: 2007-12-05 23:53:43


Hi,

Strictly serializing all gcc linking is a tad draconian if you have a
multi-processor system. Does anyone know an easy way to generalize
the semaphore so we could, for example, build -j16 but link with four
processors?

     # Serialize execution of the 'link' action, since
     # running N links in parallel is just slower.
     # For now, serialize only gcc links, it might be a good
     # idea to serialize all links.
     JAM_SEMAPHORE on $(targets) = <s>gcc-link-semaphore ;

We often statically link 100 executables or more and I can envision
two ways to speed it up. One method is to link shared and the other
is to use more processors at link time since some of our links take
15 minutes or more.

Would this be a useful capability if I added the ability to specify
the number of links on the bjam command line with a feature like
concurrent-links=4?

-- Noel


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