b4a5074609
Add a SUBDIR_PARALLEL option to bsd.subdir.mk, to allow make to process all the SUBDIR entries in parallel, instead of serially. Apply this option to a selected number of Makefiles, which can greatly speed up the build on multi-core machines, when using make -j. This can be extended to more Makefiles later on, whenever they are verified to work correctly with parallel building. I tested this on a 24-core machine, with make -j48 buildworld (N = 6): before stddev after stddev ======= ====== ======= ====== real time 1741.1 16.5 959.8 2.7 user time 12468.7 16.4 14393.0 16.8 sys time 1825.0 54.8 2110.6 22.8 (user+sys)/real 8.2 17.1 E.g. the build was approximately 45% faster in real time. On machines with less cores, or with lower -j settings, the speedup will not be as impressive. But at least you can now almost max out a machine with buildworld! Submitted by: jilles MFC r263833: Enable parallel building for gnu/usr.bin and usr.bin/clang too. |
||
---|---|---|
.. | ||
bugpoint | ||
clang | ||
clang-tblgen | ||
llc | ||
lldb | ||
lli | ||
llvm-ar | ||
llvm-as | ||
llvm-bcanalyzer | ||
llvm-diff | ||
llvm-dis | ||
llvm-extract | ||
llvm-link | ||
llvm-mc | ||
llvm-nm | ||
llvm-objdump | ||
llvm-rtdyld | ||
macho-dump | ||
opt | ||
tblgen | ||
clang.prog.mk | ||
Makefile |