On 05/15/2015 11:08 AM, Frank Ch. Eigler wrote:
Hi -
The following patches, on git://sourceware.org/git/pcpfans.git
fche/make-j improve pcp build times for multiprocessor machines. This
is follow-on work from much older commits de9f1e5cd and 91917ccf3, and
benefits even ordinary Makepkgs and top level make. Some directories
and operations remain non-parallelized, but the core build is
considerably faster - apprx. half time on a 4vcpu box.
Hi Frank, on my 4-core RHEL7.1 box, your fche/make-j tree builds :
real 8m16.531s
user 8m15.093s
sys 2m4.889s
Compared to current master branch :
real 10m9.608s
user 8m6.818s
sys 2m1.715s
So the changes look good - reviewing the code the need for the '+' prefix
on certain rules wasn't obvious (I know about '@' to suppress echo but not
'+'). Anyway, it's a decent speedup!
On my 2-core F21 box, there was barely any difference.
I'll merge it in with the next batch, cheers.
commit 0c51ecba55ba8aef3232d668910a697da9e3d9ca
Author: Frank Ch. Eigler <fche@xxxxxxxxxx>
Date: Thu May 14 14:02:57 2015 -0400
build GNUmakefiles: allow more parallel (make -j) jobs
For GNU make's -jNNN to propagate from an outer parent make to child
processes, macros that invoke $(MAKE) internally need to be decorated
with a "+" prefix. On a 4 vcpu machine, this allows the complete pcp
tree to be built in less than half the time.
There are still some ".NOTPARALLEL:" markers in a few GNUmakefiles
that lack full dependency declarations, and subdirectory make jobs
tend to be invoked serially (due to the use of explicit shell-script
loops), so we have some further potential speedups too.
commit 82595e3f0fd36e6e50045a3c5f85f2be9afe49cf
Author: Frank Ch. Eigler <fche@xxxxxxxxxx>
Date: Thu May 14 10:46:21 2015 -0400
rpm build scripts: use make %{?_smp_mflags} for faster building
On SMP build hosts, we should benefit from the available parallelism.
_______________________________________________
pcp mailing list
pcp@xxxxxxxxxxx
http://oss.sgi.com/mailman/listinfo/pcp
|