[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug #17873] .NOTPARALLEL enhancements
From: |
Cesar Crusius |
Subject: |
[bug #17873] .NOTPARALLEL enhancements |
Date: |
Thu, 12 Oct 2006 13:52:39 +0000 |
User-agent: |
Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.2 (like Gecko) |
Follow-up Comment #7, bug #17873 (project make):
To answer Howard Chu: in very simple makefiles, dependencies could take care
of the serial/parallel problem, but for complex makefiles they simply don't
suffice.
Consider, for example, a makefile that builds 3 independent executables,
exe1, exe2, and exe3. The only way to allow for the object files to be
compiled in parallel, while linking the executables serially (linking is IO
bound and massive parallel linking can lock up a machine), would be to
introduce fake dependencies of this sort:
exe1: exe2
exe2: exe3
This is all good (if you forget for now that these dependencies are
completely bogus and thus a hack) as long as you always want to build
everything. But since the dependencies are fake, problems arise easily. In
this particular case, even if all you want to do is build 'exe1', you are
*forced* to build exe2 and exe3 due to the bogus dependencies. Namely,
make exe1
Will also build exe2 and exe3 for absolutely no good reason. Considering that
some debug builds of executables I work on end up being 600MB, you can easily
waste close to an hour on this, depending on the number of executables. A
.NOTPARALLEL with decent semantics (not the current one) solves this problem
the way it is supposed to be solved.
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?17873>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/