Date: Fri, 12 Mar 2004 14:16:30 -0600 From: "James R. Van Artsalen" <james@jrv.org> To: freebsd-amd64@freebsd.org Subject: Re: Peer review of AMD64/FreeBSD article Message-ID: <40521A9E.8070808@jrv.org> In-Reply-To: <4051A841.9020205@thejemreport.com> References: <4051A841.9020205@thejemreport.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Jem Matzan wrote: > I've just finished writing this article comparing performance between > an Athlon64 in 32-bit and 64-bit mode using FreeBSD: Intel would be thrilled were Prescott to "idle" at 60 F anywhere other than outdoors in an Antarctic winter: alas, 60 C sounds more likely (but still seems astoundingly high for a halted processor). Your Prescott probably isn't doctored, but it is the case that early steppings of a CPU are always faster than later steppings: bug fixes to the silicon or control store patches by ROM POST rarely speed it up. The Prescott performance variation may indeed be due to thermal issues. I think Prescott slows down in response to thermal overload (AMD just enters a non-resumable halt - AMD's is a safety mechanism to protect the motherboard and CPU). It is not out of the question that Prescotts is regularly bumping up against thermal limits and running slow briefly. I find this hard to believe, but no harder to believe than a 60 C halted processor... Test by *lightly* preheating CPU cooler air intake with a well-aimed hairdryer to and see if that hurts performance. It may be worth mentioning that theoretically the usual win from 64-bit mode comes not from the fact that registers and reg ops are 64 bit but rather because more registers are available when in 64-bit mode. This is a huge win for a compiler which is nearly asphyxiated in register allocation by the i386. It might be worth mentioning that a powerful differentiator (between i386 and amd64 is maximum memory. With AMD64 you can keep on adding RAM after 4 GB as long as it wins. A database-driven web site might win substantially by having an 8 GB resident working set *in-process*. The max for i386 is around 3 GB; the practical max for amd64 is about 15 GB and growing (Tyan Thunder K8W with 8x 2GB DIMMs). This is beyond the scope of your tests but might be worth mentioning.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?40521A9E.8070808>