[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Compilation order
From: |
Ralf Wildenhues |
Subject: |
Re: Compilation order |
Date: |
Mon, 29 Sep 2008 22:06:09 +0200 |
User-agent: |
Mutt/1.5.18 (2008-05-17) |
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