32-bit vs. 64-bit Performance

Our entire benchmark suite to this point has been on 32-bit applications under a 32-bit OS, mostly because there are no good desktop 64-bit applications at this point in a popular 64-bit OS (not to mention the issues with 64-bit Windows XP we described earlier).

Under Linux however we don't have to wait for applications to be released in a 64-bit version, we can simply recompile them. Linux would thus provide us with an excellent venue to see the tangible performance increases from exposing the additional general purpose registers in 64-bit mode.

We ran all benchmarks on Red Hat Enterprise 2.9.5WS (Taroon), a beta release, booted in single user mode to avoid system services interfering with benchmark results. Neither Red Hat 9 nor 9.0.93 Beta (Severn) supply a 64-bit compiler or libraries, which is why we used Taroon.

The Taroon kernel initially had issues on startup requiring us to disable APIC and ACPI support to get it to install. Once actually running the OS was quite stable however DMA disk access was disabled for some reason.

We used the following compiler that came with Taroon:

gcc 3.2.3 20030502 (Red Hat Linux 3.2.3-16)

And the following kernel:

2.4.21-1.1931.2.393.ent

With this compiler and kernel we ran the following tests:

Whetstone

A simple C loop measuring floating point performance, configured to do double precision calculations.

Compiled with:
-O3 -msse2 -mfpmath=sse (and -m32 for 32bit, -m64 for 64bit)

The performance improvements due to 64-bit are in the 10 - 20% range we mentioned earlier.

Bytemark

An old integer CPU benchmark (FP results were discarded) - for more information on the tests visit this site.

Compiled with:
-O3 -msse2 -mfpmath=sse (and -m32 for 32bit, -m64 for 64bit)

Here we do see a small 2% drop in performance when moving to 64-bit in one test, however the rest of the tests show a 0 - 15% improvement across the board.

Lame 3.93

A MP3 encoder; encoded a 40minute .wav file (403MB).
Lame args: -b 192 -m s -h --quiet <file> - >/dev/null
(192kbps, simple stereo, high quality, output to nothing to avoid disk hits)

Compiled with:
-O3 -fomit-frame-pointer -fno-strength-reduce -malign-functions=4 -funroll-loops -ffast-math -msse2 -mfpmath=sse (again, -m32 for 32bit, -m64 for 64bit)

The performance improvement here is astounding - in 64-bit mode the Athlon 64 FX managed to finish the encode 34% quicker than in 32-bit mode, if these results are any hint of what could be in store for Windows users, there's a lot of promise behind the Athlon 64...assuming we get software support in time.

We wanted to do a transcode benchmark but that didn't work out - one library found a bug in gcc and transcode refused to compile. It actually forced a compile error because a structure came out padded, meaning they didn't expect anyone to run it on a 64bit machine just yet.

3D Rendering Final Words
POST A COMMENT

121 Comments

View All Comments

  • Anonymous User - Friday, October 17, 2003 - link

    In response to anonymous "Intel Boy" (biased, biased, biased) you can be in love with Intel if you choose. My experience has been that AMD processors have always been smother running and they run cooler than Intel which increases processor life. The AMD64 is in its infancy. It will get better in the months to come. Reply
  • Anonymous User - Wednesday, October 08, 2003 - link

    sorry I mean#107 Reply
  • Anonymous User - Wednesday, October 08, 2003 - link

    To #117 you wrpote is totally truth but do u think a lot understand it ? thanks anyway :)) Reply
  • Anonymous User - Monday, October 06, 2003 - link

    For #4 and other intel fan boys.
    I understand that you are in furious, you think as chip costs higher it is better and you paid much more money for intel and what? It usually is deafeted by AMD again and you feel sorry especially after the scandal with BAPCo where became clear that BAPCO is witing benchmarks for intel to show tham in better lighte heh even in sys marks 2002 which is "broken" and AMD doesn't recognize this bench even in this test which must not be used by anand athlon51fx is better than 3200EE of intel. and I can't understand how u can defend Intel when thic processor has 3.2 Gghzs and is DEAFETED BY 2200Gghz ? more than 1.2 Gghz handicap. I'll never bye intel even in due of this caus here is clear for even the dumbiest donkeey which technologie is better. thats why real computer specialists always prefare AMD and love tham.
    Reply
  • Anonymous User - Friday, October 03, 2003 - link

    These benchmark figures appear as if the P4 was used in a single channel setup. Does anybody know if this is correct? Also, ECC DDR-400 chips are very hard to come by, prohibitively expensive, and aren't available with low latencies. I don't think FX systems will be price competitive. What good is the high memory limit when you can only afford 512Mb, or a fast CPU with C3 memory? Too bad. Reply
  • Anonymous User - Friday, October 03, 2003 - link

    Hi, this is about your Athlon 64 Vs. Pentium 4 article, specifically the use of Quake3 as a CPU benchmark when comparing AMD vs. Intel cpus, as shown on this page

    http://www.anandtech.com/cpu/showdoc.html?i=1884&a...
    http://www.hardocp.com/article.html?art=NTI0LDU=
    http://www.tomshardware.com/cpu/20030923/athlon_64...

    Let me say the article is great, no complaints there. I know it takes alot of work to produce these articles.

    Now, I see two reasons for using a game as a cpu benchmark:
    1) It presents a fair (emphasis on the word 'fair') comparison of the competing cpu architectures and scaling issues.
    2) The game itself is of current interest to the community.

    In your article you already concede 2). Quake3 itself is not relevant as a game to anybody. Quake3-derived games are another matter, and are still popular and certainly relevant. More on these later.

    I believe there is strong evidence that Quake3 does not provide a fair benchmark for comparing *modern* (AthlonXP and possibly Athlon64 as well) AMD cpus vs Intel cpus. The reason being (and let me emphasize that I don't know this as an verified fact, I'm going on what a couple of programmers involved with helping AMD produce optimized game code have told me) that the Quake3 cpu recognition code does not recognize the AthlonXP as an SSE-capable cpu. Not only that, but the 3DNow code in Quake3 is apparently non-functional for this cpu.

    The politics and history behind this are interesting, but probably boil down to the AthlonXP being released well after Quake3, and Carmack being rightly uninterested in patching an old game.

    If this is true, you are benchmarking two equally SSE-capable cpus against each other, using a game engine which enables SSE for the Intel cpu and *disables* SSE for the AMD cpu (apparently there's no simple way to force SSE recognition either), for no valid reason, other than the game is too old to know about the AMD cpu's capabilities. What would be even worse is if this same recognition problem carries over to the Athlon64 (I have no word on this) and to newer Quake3-based games.

    Again, assuming this is true, it removes any rationale for using a 3-year old game that: a) few people play, b) which gives ridiculously high scores, and which c) unfairly handicaps AMD cpus; as a benchmark to be used specifically in comparing AMD cpus vs their Intel competitors in articles such as this one.

    So. Here are the recommendations I, as an interested Hardocp/Anand/Toms reader (and admitted AMD fan) am making to you and your site:

    1) Investigate this matter further, and write an article discussing it. And in particular discuss the relevance of this cpu issue to current Quake3-based games. Assuming there is in fact an Intel bias to Quake3-based benchmarking I think people would be very interested to learn about it. Apparently the SSE issue does indeed carry over to later games.

    2) Assuming there is a bias, discontinue using Quake3 as a cpu benchmark, and especially discontinue it's use when comparing AMD vs Intel cpus. The game will never be patched to fix this issue, and using 3rd party fixes noone cares about is more or less pointless too. I'm referring to the dlls on this page:
    http://speedycpu.dyndns.org/opt/

    This guy is one of the programmers I referred to earlier, and he tells me the dlls do not enable SSE where it really matters anyway. The other was a student working at AMD writing assembly 3DNow code. The best solution is simply to retire this benchmark, just as Q1 and Q2 were retired.

    rms
    Reply
  • Anonymous User - Thursday, October 02, 2003 - link

    Not to be a ball buster, but in your paragraph:

    "For starters, at a 192mm^2, the Athlon 64 and Athlon 64 FX are well above AMD's "sweet spot" for manufacturing. When we last talked with AMD's Fred Weber, 100 - 120mm^2 die size is ideal for mass production given AMD's wafer size, yields and other manufacturing characteristics - and the Athlon 64 is close to twice that size"

    If you calculate it out, the 64FX is closer to 4x the die size of the "sweet spot". 192mm x 192mm = 36864 sq mm. The "sweet spot" is 100mm x 100mm = 10000 sq mm. Sorry, just figured I'd point that out.


    -Kooldino
    Reply
  • Anonymous User - Wednesday, October 01, 2003 - link

    don't hold your breadth1 as far as ms is concerned the visual studio compilers is still not truly 32 bit let alone be 64 bit. without such compilers you cannot get 64 bit apps

    Even Winxp so claimed to be redisigend from bootom up is not true. Well its desigend from broken pieces on the ground hurriedly glued together. How come you still have a System and a System32 folders in c:\Windows??? Thats the 16bit and 32 bit DLLs. Why the sudden Blue scren of death? Same old problem - confilcts between DLLs.

    Try writing code in Visual STudio and query the WinOS ver - for WinXP you will get WinNT as the response. HOw can a truly ground up redesigned OS behave as such? Beats me?

    Until such time that WinXX OS is truly 32bit or 64 bit you cannot have any true 64 bit apps running.

    The BIOS also have problems. nFOrce2 still buggy and not properly fixed - can you trust nForce3? If those guys cannot fix up nForce2, then nForce3 is gonna have lots more problems.
    Reply
  • Locutus4657 - Tuesday, September 30, 2003 - link

    #32,

    On what exactly are you basing your arguments? You obviously have no experience or knowledge of Win64... If you did you'd realize 64 bit versions of Windows NT date back to NT4 on DEC Alpha hardware... You obviously have no clue what so ever... Try posting a relevant argument next time... Try something based on benchmarks, and heck, next try even putting it into context as to how you use your computer...
    Reply
  • Anonymous User - Monday, September 29, 2003 - link

    all i know is i bought amd stock for less than $5 a few months ago and it's on the way to tripling in value. perhaps i'll use the profits to buy another one of their chips. Reply

Log in

Don't have an account? Sign up now