Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 14 Sep 2006 13:28:03 -0400
From:      Gary Corcoran <gcorcoran@rcn.com>
To:        =?ISO-8859-1?Q?Dag-Erling_Sm=F8rgrav?= <des@des.no>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: numbers don't lie ...
Message-ID:  <45099123.4000500@rcn.com>
In-Reply-To: <863bauk3gp.fsf@dwp.des.no>
References:  <E1GNOLq-000DC2-1Q@cs1.cs.huji.ac.il> <863bauk3gp.fsf@dwp.des.no>

next in thread | previous in thread | raw e-mail | index | archive | help
Dag-Erling Smørgrav wrote:
> Danny Braniss <danny@cs.huji.ac.il> writes:
>> Im testing these 2 boxes, Sun X4100 and Dell-2950, and:
>>
>> 	SUN X4100:	Dual Core AMD Opteron(tm) Processor 280 (2393.19-MHz K8-class CPU)
>> 			one 70g sata disk
>> 	DELL 2950:	Intel(R) Xeon(TM) CPU 3.20GHz (3192.98-MHz K8-class CPU)
>> 			4 sata disks + raid0
>>
>> they both run identical 6.1-STABLE.
>>
>> my 'cpu benchmark' shows the amd being much better than the intel.
>> but, doing a make buildworld give interesting results:
>>
>> dell-2950 : make -j16 TARGET_ARCH=amd64 buildworld : 24m17.41s real 1h3m3.26s user 17m15.07s sys
>> dell-2950 : make -j8 TARGET_ARCH=amd64 buildworld : 24m8.28s real 1h2m59.38s user 16m16.20s sys
>>
>> sunfire : make -j16 TARGET_ARCH=amd64 buildworld : 24m21.38s real 49m6.68s user 14m22.64s sys
>> sunfire : make -j8 TARGET_ARCH=amd64 buildworld : 23m47.69s real 48m53.58s user 13m44.81s sys
>>
>> which probably says something about my 'cpu benchmark' :-(
>> but why is the user time so much different between the boxes?
> 
> I don't see what's so surprising.  User time reflects time actually
> spent compiling stuff; you can see there that the Opteron is much
> faster than the Xeon.  Sys time is time spent executing kernel code on
> behalf of the build, which is mostly time spent processing I/O
> requests (but does not include time spent actually reading from or
> writing to disks).
> 
> The reason why there is no significant difference in wall time between
> the two is that buildworld is mostly bound by I/O and memory
> bandwidth, not by CPU power.  If you have enough memory, place
> /usr/src and /usr/obj on malloc()-backed RAM disks and see if it makes
> any difference.

The confusing thing is that I thought 'real' time should be >= 'user' + 'sys'.
But here 'user' is much greater than 'real' for both machines!  The sense I
got from the other messages in this thread is that 'user' time is somewhat
meaningless (i.e. unreliable as a measure) in a multi-CPU and/or hyperthreading
environment.  Can you clarify?

Thanks,
Gary



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?45099123.4000500>