Hi! On Tue, Apr 21, 2009 at 07:07:13AM -0400, RD Thrush wrote: >>>>>> "a" == Ariane van der Steldt <[email protected]> writes: >a> On Mon, Apr 20, 2009 at 01:57:55PM -0400, RD Thrush wrote: >>> I've recently noticed reduced performance when building ports for >>> amd64 and i386 platforms on multiprocessor boxes. I found the problem >>> was associated with running a 'nice'd dnetc [1] process on each >>> processor. Without the 'nice'd processes, performance improves >>> dramatically.
>>> In a test case, elapsed time increased 25X (from ~24 seconds to more >>> than 650 seconds) in one case and 12X (from ~30 seconds to more than >>> 350 seconds) in another case. >>> Since I received the 4.5 CD on Saturday (thanks for another very cool >>> release!), I used the bsd.mp kernels from that release and found the >>> problem with reduced performance has occurred since the 4.5 release. >>> The problem can be reproduced by busying each core w/ a 'nice'd >>> process. Then, 'make clean;time make fake' in $PORTSDIR/devel/libtool >>> illustrates the problem. >a> Using a make and recording the time used is useless: the most important >a> numbers (user and sys) are only recorded for the initial 'make' program, >a> not the programs it starts. > I didn't know that time(1) didn't accumulate user and sys. Thanks > for that. It does. Ariane is wrong IMO. Only the resource usage of children/grandchildren that weren't wait()ed for is lost. But IIRC make usually *does* wait() for its children. >[...] Kind regards, Hannah.

