Hi Paul,

* Paul Smith wrote on Mon, Sep 29, 2008 at 09:48:43PM CEST:
> 
> To be really, really pedantic: even in parallel mode, make (currently)
> always relies on the order in which prerequisites are listed for a given
> target.  However, since make is running them in parallel you can't
> really tell which items might end up running together: it depends on how
> the OS schedules the jobs and how long they take to complete, as well as
> how large your N for -jN is.

Yes; thanks for the clarification.

With parallel make, besides the unreliable completion order, effectively
the algorithm has more of a breadth first logic though.  GNU make's
order-only dependency statements can help.

BTW, while you're here, is there chance for a new GNU make release
soonish with the bug fixed that prevented GCC from using dependency
tracking?  (IIRC it dealt with order-only deps.)

> There is an enhancement request for GNU make that hopes for a
> randomization (to help find missing dependency relationships) of the
> prerequisites.  However this is a large, difficult problem the way GNU
> make is coded.

I've always tried to emulate that with a few 'make -j' or 'make -jN'
with a large N, on a system with as many processors as I can get at.

Cheers,
Ralf


Reply via email to