summaryrefslogtreecommitdiff
path: root/usr.bin/Makefile
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2014-03-26 22:30:38 +0000
committerDimitry Andric <dim@FreeBSD.org>2014-03-26 22:30:38 +0000
commit54ff5d7323e6b110e8796cdd412a39b7d13fb66d (patch)
tree5be3730536450327733d775b82c832d3f363398c /usr.bin/Makefile
parent1632bf1a88ce60fd335ccb030d1868db6f2f279f (diff)
downloadsrc-test-54ff5d7323e6b110e8796cdd412a39b7d13fb66d.tar.gz
src-test-54ff5d7323e6b110e8796cdd412a39b7d13fb66d.zip
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 after: 2 weeks
Notes
Notes: svn path=/head/; revision=263778
Diffstat (limited to 'usr.bin/Makefile')
-rw-r--r--usr.bin/Makefile2
1 files changed, 2 insertions, 0 deletions
diff --git a/usr.bin/Makefile b/usr.bin/Makefile
index 007c9ab716d7b..c6727cd50b741 100644
--- a/usr.bin/Makefile
+++ b/usr.bin/Makefile
@@ -379,4 +379,6 @@ SUBDIR+= svn
SUBDIR:= ${SUBDIR:O}
+SUBDIR_PARALLEL=
+
.include <bsd.subdir.mk>