> buildInParallel = makeSetupHook ... > '' > nrCores=$(cat /proc/cpuinfo | grep 'processor.*:' | wc -l) > makeFlags="$makeFlags -j -l $nrCores"
-j -l ? Agreed. This is superior. However I don't know whether we want to depend on Makefile. I can't think about other systems which do concurrent builds in nixpkgs right now though. We still have to find a way to mark makefiles as concurrency unsafe so that -j1 is used on them. Probably -j -l does not work nicely with buildImportant -j4 & nice -n10 buildLessImportant -j4 & nice -n20 buildLeastImportart -j4 & wait because less and least important would run one thread causing buildImportant to spawn less threads. So maybe we want to use $( .. |wc -l) * 0.9 for less important jobs such as stdenv-updates so that it spawns less processes :) Marc Weber _______________________________________________ nix-dev mailing list [email protected] https://mail.cs.uu.nl/mailman/listinfo/nix-dev
