On Jun 22, 2010, at 11:10 AM, Peter Simons wrote:

> Hi guys,
> 
> the following patch is a first implementation for you to review and comment 
> on.
> It's been tested successfully on Linux/x86, Linux/x86_64, and Darwin/x86. The
> following changes were made:
> 
> 1) Nix-env provides the environment variable $NIX_BUILD_CORES. The default
>    value is 1, which is equivalent to building with parallelism disabled.
> 

Specify the means to set the envvar please, like what the inputs to the 
heuristic
are. There are most definitely "portability" issues associated with
discovering #CORES and the details should be spelled out.

(aside)
In fact (since you want not only -jN but also -lN options), you likely should 
avoid the misleading fiction
of "...BUILD_CORES" in the envvar name. In fact, you are supplying arbitrary 
(the proposed mechanisms
are merely heuristics, you'll never find one heuristic that adapts to all cases 
imho),
and you likely should choose some name for the envvar that doesn't pretent to 
"CORES".

All I'm saying is lose the "cores" connotative baggage. Everything else as 
before.

> 2) The generic builder checks whether $enableParallelBuilding is set. If it
>    is, "-j{NIX_BUILD_CORES} -l{NIX_BUILD_CORES}" is added to $makeFlags.
> 

Ditto.

> 3) The packages gcc, glibc, gmp, mpfr, coreutils, perl, git, and qt4 now
>    define $enableParallelBuilding.
> 

You are likely to make better forward progress with "opt-in" rather than 
"opt-out" logic.

> Let me know what you think, please.
> 

73 de Jeff

_______________________________________________
nix-dev mailing list
[email protected]
https://mail.cs.uu.nl/mailman/listinfo/nix-dev

Reply via email to