Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 15 May 2006 09:00:18 -0400
From:      Bill Moran <wmoran@collaborativefusion.com>
To:        Ashley Moran <work@ashleymoran.me.uk>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: Please explain make -j to my little brain
Message-ID:  <20060515090018.4015d7e1.wmoran@collaborativefusion.com>
In-Reply-To: <200605151112.33416.work@ashleymoran.me.uk>
References:  <200605151112.33416.work@ashleymoran.me.uk>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 15 May 2006 11:12:33 +0100
Ashley Moran <work@ashleymoran.me.uk> wrote:

> Hi
> 
> I've read the following snippet out of the handbook hundreds of times and 
> still don't understand it.  I even asked one of the developers I work with 
> and he was baffled too.
> 
> > It is now possible to specify a -j option to make which will cause it to
> > spawn several simultaneous processes. This is most useful on multi-CPU
> > machines. However, since much of the compiling process is IO bound rather
> > than CPU bound it is also useful on single CPU machines.
> 
> What I want to know is, if compiling is IO bound, and you increase the number 
> of simultaneous processes compiling your world, where do the extra processes 
> get data from if the IO bandwidth is all used.
> 
> Have I misunderstood the term IO bound?  Please help, I feel like a right 
> tool.

The key to that quote is the placement of the term "much".  As in "much of
the compiling process" ... not all of it.

Generally, while one process is waiting on disk IO, another can be using
the CPU.  As a result, you can get closer to 100% usage of the machine,
which won't happen if you batch the whole thing.

> Just as a side line... does anybody know the best -j value to build world on a 
> 4-core box?

I generally quadruple the # of cores, so I'd use -j16.  I couldn't tell you
authoritatively what is _best_, though.

-- 
Bill Moran
Collaborative Fusion Inc.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060515090018.4015d7e1.wmoran>