amd64 slower than i386 on identical AMD 64 system?
ray at redshift.com
ray at redshift.com
Tue Mar 14 12:44:12 UTC 2006
At 09:27 AM 3/14/2006 -0300, JoaoBR wrote:
| On Tuesday 14 March 2006 08:49, ray at redshift.com wrote:
| > At 12:38 PM 3/14/2006 +0100, Alexander Konovalenko wrote:
| > | On Tuesday 14 March 2006 11:40, JoaoBR wrote:
| > | > so where is your comparism? My point was that the same hardware is
| > | > faster running i386
| > | >
| > | I have experienced that -O3 and -ffast-math optimizations flags on AMD64
| > | might cause degrade in performance, meaning that -O2 is the fastest. When
| > | you compile your ports what opt. flags do you use? Try to reinstall
| > | ubench with different flags. Also code produced with gcc4.x is faster
| > | then system compiler and has no degrade effect. Some time ago I was
| > | interested in fast scientific computations and did some primitive
| > | benchmark tests
| > | (http://daemon.nanophys.kth.se/~kono/testfcpu)
| > |
| > | I just wonder what will happen if you run ubench (compiled for i386) on
| > | AMD64, will performance overcome amd64 ubench?
| > |
| and what would be the point here?
| the amd64 systems I checked are running amd64
| the i386 systems I checked are running i386
| and entirely I mean
| > I'm just coming in on the tail end of the message (missed the previous
| > stuff). I recently did some benchmarks between AMD64 and i386 (version 5.4)
| > on the same hardware. I initially saw that the i386 ran faster also.
| > However, after searching a bit further, I discovered that I had made an
| > error: the i386 kernel has the SMP stuff compiled into the generic kernel
| > by default, while the AMD64 (at least on 5.4) does not. It has a separate
| > kernel file called SMP (as I recall), which adds the SMP line and then does
| > an include for the rest of the generic kernel config file (or something to
| > that effect).
| > Anyway, if you are testing back and forth, it's easy to forget that and end
| > up accidently testing an i386 with SMP against an AMD64 without SMP.
| obviously I checked UP kernels against UP and SMP against SMP
| but anyway running SMP kernel on single processor systems should not affect
| this tests
Perhaps it's the fact that AMD64 has to deal with larger pointers? In speaking
with AMD on this subject some months ago, I believe they mentioned there was a
compiler switch/flag you could use to force 32 bit pointers. I never bothered
to try it and don't know the specifics of it, but perhaps it's something to
check into further.
More information about the freebsd-amd64