Subject: Re: MP scheduling
To: Dave Huang <khym@azeotrope.org>
From: Dan LaBell <dan4l-nospam@verizon.net>
List: port-macppc
Date: 11/11/2004 18:41:30
On Thursday, November 11, 2004, at 01:20 PM, Dave Huang wrote:
<...>
>
> Ah, each subdirectory gets its own nbmake process--e.g., if it was
> currently building /usr/src/bin/cat, you'd have one make for /usr/src,
> one for /usr/src/bin, and one for /usr/src/bin/cat. However, those
> make processes are mostly waiting for their children to finish doing
> the real work, so they use very little CPU.

Though, if one passes gcc  '-pipe'   ,  gcc will use pipes,  as opposed 
to writing tempfiles,
and there can be 3 processes active per  waiting make.   With multiple 
CPUs they can run concurrently.   My experience ( this was on an 8 cpu 
sun ),   was that gcc and the assembler worked well together ( as kept 
up with gcc ),  and on CPU most of the time, and with cpp it was on CPU 
more often than not.

With only 2 CPU's one probably doesn't want to mix gcc -pipe and make 
-j,  but gcc -pipe
can give  good concurrent CPU utilization, and avoid the occasional 
failed build due to
race conditions.