speed up port compiling using RAM (tmpfs) ???

Peter Jeremy PeterJeremy at optushome.com.au
Fri Jan 20 16:27:20 PST 2006


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


More information about the freebsd-hackers mailing list