[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

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:


  Message sent via/by Savannah

reply via email to

[Prev in Thread] Current Thread [Next in Thread]