Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 17 May 2006 23:06:04 +0200
From:      martinko <martinkov@pobox.sk>
To:        freebsd-questions@freebsd.org
Subject:   Re: Please explain make -j to my little brain
Message-ID:  <e4g37s$evj$2@sea.gmane.org>
In-Reply-To: <20060515090018.4015d7e1.wmoran@collaborativefusion.com>
References:  <200605151112.33416.work@ashleymoran.me.uk> <20060515090018.4015d7e1.wmoran@collaborativefusion.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Bill Moran wrote:
> 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.
> 

hi,

i remember from mailing lists there used to be a problem with using "-j"
while compiling kernel or world or ports or sth. is it resolved now pls?

cheers,

martin




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?e4g37s$evj$2>