]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
MFC r263778:
authordim <dim@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Wed, 9 Apr 2014 18:16:58 +0000 (18:16 +0000)
committerdim <dim@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Wed, 9 Apr 2014 18:16:58 +0000 (18:16 +0000)
commit875b7503612e6f988e88c5ed230773d6ef6cad74
tree4b992e8161752c70ae2b6d92e7d5fdbf5ce3e021
parentaa7d90572ea42cd50f4f5f0b0eedc850a6d95027
MFC r263778:

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.

git-svn-id: svn://svn.freebsd.org/base/stable/10@264303 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
bin/Makefile
gnu/usr.bin/Makefile
lib/Makefile
lib/clang/Makefile
sbin/Makefile
share/mk/bsd.subdir.mk
usr.bin/Makefile
usr.bin/clang/Makefile
usr.sbin/Makefile