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.

Reply via email to