Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 21 Jan 2006 11:26:14 +1100
From:      Peter Jeremy <PeterJeremy@optushome.com.au>
To:        babkin@users.sourceforge.net
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: speed up port compiling using RAM (tmpfs) ???
Message-ID:  <20060121002614.GL25397@cirb503493.alcatel.com.au>
In-Reply-To: <43D15C19.314EC346@verizon.net>
References:  <2209162.1137777933811.JavaMail.root@vms075.mailsrvcs.net> <20060120193741.GC39932@xor.obsecurity.org> <43D15C19.314EC346@verizon.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 2006-Jan-20 16:54:33 -0500, Sergey Babkin wrote:
>Kris Kennaway wrote:
>> It's harder than that, because you need to impose dependency
>> information and mutual exclusion between different makes.  e.g. they
>> can't both be compiling the same port at the same time, which will
>> happen if you just do the naive thing.
>
>That's the part that "make -j" is supposed to take care of,
>since it should build in parallel only the targets independent
>of each other.

It doesn't quite work like that.  A single make execution will
correctly parallelize independent targets (as long as the makefile
dependency tree is correct - which is not true for all ports).  The
problem occurs when the targets are sub-makes.  In this case, you
have multiple sub-makes running in parallel with no knowledge of
the dependency trees of the other sub-makes.  Unless the top-level
makefile has full knowledge of all the dependencies (which is not
practical), it is quite likely that the sub-makes will collide.

-- 
Peter Jeremy



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