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.  Thoughts?

Thank you,