Proposed change to make -j

Rink Springer rink at FreeBSD.org
Thu Nov 23 23:03:52 PST 2006


On Thu, Nov 23, 2006 at 04:30:02PM -0800, Jason Evans wrote:
> John Birrell wrote:
> >Currently 'make -j' reports an error if the number of jobs
> >isn't specified.
> >
> >I'd like to change make(1) to treat -j (without a number) as
> >meaning "set the number of jobs to the number of processors".
> >
> >On sun4v, each processor isn't too powerful and system performance
> >is only decent when you use all the processors - 32 in my case.
> >
> >I've been working on a parallel 'make release' process which
> >would benefit from having -j set by default. At the moment I
> >set MAKEFLAGS=j32 in my environment and this achieves the desired
> >result, but -j would be more general.
> 
> For gmake, a bare -j says to not limit the number of simultaneous jobs. 
>  I don't think that it's a good idea to use a flag name that already 
> has a different (and potentially useful) meaning for gmake.
> 
> I have some concern that no matter what number of jobs you decide to run 
> simultaneously when your proposed flag is specified (N, N+1, 2N, etc., 
> where N is the number of CPUs), that choice will not be universally 
> useful, since the best choice of argument to -j depends on what 'make' 
> is building.  Might it be better to use sysctl(8) in your command line?
> 
> 	make -j `sysctl -n hw.ncpu`

What about 'make -j0'? This current gives an error message...

-- 
Rink P.W. Springer                                - http://rink.nu
"It's you isn't it? THE BASTARD OPERATOR FROM HELL!"
"In the flesh, on the phone and in your account..."       - BOFH #3
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 2415 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-arch/attachments/20061124/2e6ac68f/smime.bin


More information about the freebsd-arch mailing list