/MP is most valuable to the preprocessor, especially when using Boost in your project. When you use boost in >almost every single file, on a very
powerful machine you could still end up waiting 1-3 seconds for each file
to compile. This is, of course, subject to what part(s) of boost you're using. In short, I think /MP >introduces extreme performance improvements at most, and no benefit at all at least. It might not be perfect, >but it's a very good first step for Microsoft.
My main build machine is high-spec. I routinely use bjam -j N, but find that in the code that uses Boost most intensively, CPU is no longer the main determinant of compile time. Some source files take ~1GB of memory to compile - so trying to do several such files in parallel causes the meager 3GB or so of memory to be exhausted with all the problems that that entails. My /next/ build machine is not going to be constrained by the (Windows?) 32bit 4GB memory barrier!