My project uses b2 as our builder, and we have a large number of unit
test targets. The quantity and structure of our targets is such that running tests has become painfully slow due to the serialized linker invocation for each tester, even though the testers are totally independent with respect to each other.
As an experiment, in gcc.jam, I commented out the link
rules' "JAM_SEMAPHORE on $(targets)" lines to allow independent links to
run in parallel, and the speedup was dramatic.
It would be
very nice if there was a feature or some mechanism to control whether
or not independent linker invocations are allowed to run in parallel.