Greg Chicares <[EMAIL PROTECTED]> wrote:
> %% "Jan Mikkelsen" <[EMAIL PROTECTED]> writes:
>
> jm> However, on Win32 I have lost parallel builds. Unix is fine. I
> jm> assume this is because the jobserver code only runs on Unix, and
> jm> without the jobserver code, submakes get forced to -j1.
>
>I've never had an opportunity to run make on an OS where
>anything but -j1 behavior would occur. So my viewpoint,
>colored by that background, is that if I have one process
>that runs for six hours vs. six that run for one hour
>each, well, it's six of one or half a dozen of the other.
>Obviously there's a good reason for this that I just
>don't understand yet--what am I missing?
Speed improvements thorugh parallelism.
Compilation is typically CPU bound these days, so on a multiprocessor system
you can improve your compilation speed pretty much linearly with the number
of physical processors in the system, assuming that there are enough tasks
to go around.
For example, if you need to compile 10 object files at 10 seconds each,
followed by a 20 second link, using one processor only gives a total time of
120 seconds, vs. 70 seconds for two processors, through to a theoretical
limit of 30 seconds for a 10 processor system.
If 'make' is forced to -j1, you wait for the full 120 seconds, even when you
have multiple physical processors.
Jan Mikkelsen