Slashdot Mirror


AMD64 Windows vs. Fedora vs. SuSE benchmarks

Illissius writes "AnandTech just posted a review comparing 32- and 64-bit performance on both Linux and Windows. They focused on what is available out of the box without having to compile anything seperately - unfortunately, 64-bit binaries weren't available for most of the Windows benchmarks. To save people the pain of RTFA, there's a very tangible gain moving to 64-bitness, Linux wins some (MySQL, UT2004), and Windows wins some (rendering, RtCW)."

26 of 273 comments (clear)

  1. How can you compare if binaries not avail by Anonymous Coward · · Score: 5, Insightful

    What is the point if the same tasks cant be carried out?

    1. Re:How can you compare if binaries not avail by NeoThermic · · Score: 4, Interesting

      Thats exactly what I was thinking.

      While I'm no fan of windows, much like others here, I do see the need to have a *fair* test, and at *many* points through the tests, I saw this:

      "Again, we had to use 32-bit binaries for the Win-64 beta"

      "Unfortunately, there is only a 32-bit version of the game, so we must settle with 32-bit performance benchmarks, even on our 64-bit platforms."

      "We noticed the Windows XP 64-bit MySQL running slower than its 32-bit counterpart; unfortunately, this is due to the lack of a 64-bit Windows binary - we had to test using a 32-bit binary on the 64-bit platform. "

      Therefore, who is going to be surprised that the windows benchmark for 32 and 64 bit performance under such apps is going to be nearly exactly the same?

      Oh, and one last part. The writer of the article doesn't quite get that 64bit binarys *should* be faster than 32bit ones, with this little gem:

      "Here shows another case of 64-bit optimized binaries working faster than 32-bit binaries"

      We shall be sending him his qualification in the bleeding obvious soon.

      NeoThermic

      --
      Use my link above, or to view my server, NeoThermic.com
    2. Re:How can you compare if binaries not avail by trashme · · Score: 5, Informative
      While I'm no fan of windows, much like others here, I do see the need to have a *fair* test, and at *many* points through the tests, I saw this: "Again, we had to use 32-bit binaries for the Win-64 beta"
      Maybe he was doing his best to test the different 64-bit operating system performance as it stands today. Part of the drawback of Windows is that right now it seems to be pretty hard to get your hands on 64-bit applications.
      Oh, and one last part. The writer of the article doesn't quite get that 64bit binarys *should* be faster than 32bit ones, with this little gem:"Here shows another case of 64-bit optimized binaries working faster than 32-bit binaries"
      Why?

      Why is it so obvious 64-bit is faster than 32-bit? Just because the word size is doubled? For many applications that doesn't help at all. FYI, one of the big advantages of the amd64 instruction set is a larger (than ia32) set of registers for the compiler to work with. That is where the speed boost is most likely coming from. Only certain applications truly benefit from a 64-bit word size.
    3. Re:How can you compare if binaries not avail by NeoThermic · · Score: 5, Informative

      >>HHooww iiss iitt ""bblleeeeddiinngg oobbvviioouuss??""

      I'ld check the repeate rate on that keyboard. Seems a bit out of sync if you ask me.

      In all seriousness, 64-bit computing by itself means that the General Purpose Registers are 64-bits wide. That means increased dynamic range. Using base 2, a 32-bit processor gives you 4,294,967,296 possible values. (which is where the 4 GB RAM limit of 32-bit processors comes from.) That is it's dynamic range.

      A 64-bit processor's dynamic range is approximately 4.3 billion times greater than a 32-bit processor, which simply means, it can work with much larger numbers. Thats Important in applications like rendering, mathmatical calculations, and even database servers .

      64-bit computing also allows for more RAM than a 32-bit processor because of it's increased dynamic range. As shown, a 32-bit processor can only handle about 4.3 billion values, which roughly works out to about 4 GB of memory. A 64-bit processor has an upper limit of about 18 million terabytes... (32-bit = 0.0043 terabytes... 64-bit = 18,000,000 terabytes), something that I don't see anyone quite needing, but it does mean that your 64bits will go further :)

      AMD changed some more things when they designed the Athlon-64.

      To start with they used a 40-bit memory address rather than 64-bit since we're not going to need 18 million terabytes of memory anytime soon. Therefore a 40-bit address allows up to 1 terabyte of memory. Thats enough, considering that you won't find a motherboard with support for 1024 sticks of 1GB ram anytime soon.

      Then they doubled the amount of General Purpose Registers so there is now 16. So not only have we doubled the number of addresses, we then make them twice as big again. But they can only be used by 64-bit software, so the benefit of extra registers isn't realized with 32-bit software, which is my point. A 32bit app isn't going to excell on a 64bit processor, hence why benching it isn't fair.

      After that they lengthened the pipeline by a few stages. In short, you basically make it so higher clock speeds are easier to reach without having to change the format of the processor.

      AMD have also built the memory controller into the core, which eliminates almost all latency issues from the CPU to the memory controller. Basically the memory is now just connected to the CPU by wires, whereas the CPU was connected to the northbridge, and so was the RAM. So the northbridge sat between the RAM and the CPU.

      Then you have added support for SSE2, so applications designed to take advantage of Intel's SSE2 instructions can now also take advantage of those instructions on an Athlon-64. So now Intel isn't holding the upper hand again.

      Finally they are using SOI, which in short, reduces current leakage within the processor, making switching of the transistors more efficent, which means faster speeds and less power consumption.

      They've made other changes as well, quite alot more than listed here, but those are the main ones that effect performance.

      NeoThermic

      --
      Use my link above, or to view my server, NeoThermic.com
    4. Re:How can you compare if binaries not avail by Waffle+Iron · · Score: 5, Insightful
      A 64-bit processor's dynamic range is approximately 4.3 billion times greater than a 32-bit processor, which simply means, it can work with much larger numbers. Thats Important in applications like rendering, mathmatical calculations, and even database servers .

      PCs have supported 64-bit and 80-bit floating point numbers since the early 1980s. You're talking about 64-bit integers, which are extremely rarely used in mainstream apps; I've probably used them less than a dozen times in 20 years of programming. Rendering and mathematical apps usually use floating point for any number where dynamic range would be an issue. Databases may use long integers, but I/O is probably a far greater bottleneck for a database server than long integer math. It takes orders of magnitude longer to read a long integer field out of the table than it does to add it, even if you split the addition into two 32-bit steps.

      You also didn't mention that all of the larger 64-bit pointers come at a cost: increased pressure on your cache resources. This would tend to decrease performance unless you really need 64-bit addressing.

      The main reason that AMDs chips are faster on desktop apps are more registers, faster memory controller, and cache architecture. None of those features has anything to do with 64-bitness.

  2. right by muyuubyou · · Score: 4, Funny

    UT2004 is a must in any server worth it's salt.

  3. They should have used Gentoo by Anonymous Coward · · Score: 5, Funny

    As a Gentoo user what really stands out to me is that this test was clearly biased away from Linux. If the reviewers had been serious they would have used an optimised distributions such as Gentoo, which would have taken far fuller advantage of the extra 32bits in each register to provide a much fuller experience, more than any current Linux distribution possibly could.

    It really saddens me to see that people go out of their way to spend so much money on such expensive hardware and then squander their investment by running barely suitable software on it. To me, an extra 0.1% performance increase, even if I am only imagining it to be faster, is certainly worth one day a week recompiling all of the latest packages from source code. Even if I do occasionally get my CFLAGS in a muddle!

    I think I speak for Slashdot when I say that Gentoo is the only sane option for getting the most from your hardware!

    1. Re:They should have used Gentoo by fireman+sam · · Score: 5, Interesting

      You should have read the article...
      "Unfortunately, we had difficulties running our new hardware platform on Gentoo and Debian"

      --
      it is only after a long journey that you know the strength of the horse.
    2. Re:They should have used Gentoo by molarmass192 · · Score: 5, Interesting

      If the reviewers had been serious they would have used an optimised distributions such as Gentoo, which would have taken far fuller advantage of the extra 32bits in each register to provide a much fuller experience, more than any current Linux distribution possibly could.

      You mean like SuSE 9.1 64-bit edition that comes fully optimized and ready to run on a single DVD? Look, not to be a dick or anything, but Gentoo is in no way the "only sane" option for getting the most from your hardware. Yeah, it's far more oriented towrds optimizing for hardware than any other distro, but for me "sanity" means pop a DVD in, install, configure, and get to leave in under 60 minutes. That doesn't mean Gentoo is bad, it's a fun hacking distro and you can learn a hell of a lot more from using it than any binary distro, but it's certainly not a PHB compatible distro.

      --

      Good people do not need laws to tell them to act responsibly, while bad people will find a way around the laws-Plato
    3. Re:They should have used Gentoo by e40 · · Score: 4, Interesting

      No, SuSE is the best AMD64 Linux. Why? Because of Andi Kleen. He's a linux kernel developer primarily focused on AMD64 and he works at SuSE. The Redhat distribution that came out before SuSE's doesn't run some IA32 binaries (my company's, for one), because, IMO, they didn't know what they were doing. SuSE waited until it was ready. Andi contributes lots of AMD64-specific fixes to the 2.6.x releases (according to the changelog's I read).

      AMD64 is a new platform, and Andi is a really good developer. He's also been very helpful to a developer I work with, exchanging emails on AMD64 details for our compiler. I'm staying with SuSE for this reason.

  4. Note that PostgreSQL has also been optimized... by tcopeland · · Score: 5, Informative

    ...to work with AMD's 64 bit Opteron. And that was last November, so I daresay it's even better now... check it out here.

    PLUG: Good tools, too!

  5. Apparently the poster didn't RTFA. by BoomerSooner · · Score: 4, Informative

    Although we primarily focused on comparing SuSE, Fedora and Windows in this article, we did not include dozens of other 64-bit distributions available today. Given just the three operating systems analyzed before, SuSE comes out ahead of Fedora consistently - but more importantly, both Linux distributions also lay waste to the 64-bit and 32-bit editions of Windows XP. In fact, the only real benchmarks where Windows ever came against either Linux distribution were the game tests. Fortunately, the point of this analysis was to see if Linux takes advantage of the 64-bit gap; and with reasonable assurance, we can conclude it does. Encoding, database and rendering tests all show a distinct advantage with a 64-bit operating system over a 32-bit one, and even more distinct advantage with Linux over Windows.

  6. Speed Is Relative by rute_1 · · Score: 5, Funny

    Just the fact that you're running a 64 bit system gives you the sense that everything is faster.

    Besides, 64 being twice 32 justifies the upgrade cost...

  7. Better article by ValourX · · Score: 5, Informative

    I did a 64/32-bit comparison on FreeBSD a while ago, and then did some comparisons in SuSE 9.1.

    I haven't gotten around to 3D benchmarking yet, but soon...

    -Jem

  8. Windows XP 64-bit... by Jugalator · · Score: 4, Interesting

    Wouldn't that still contain a lot of debug code slowing things down, making it unfair in a comparison like this? Interesting to see the beta is even faster than the Linux distros in some cases though.

    --
    Beware: In C++, your friends can see your privates!
  9. uhm, what's the point by Vacuous · · Score: 5, Insightful

    They are using a 64-bit processor, on 64-bit enabled Operating systems, and benchmarking using 32-bit code, which in most cases is going to be slower on the 64-bit platform. On top of that, they aren't even using any of the 64-bit memory addressing so what is the freaking point of any of it. On top of that they are benchmarking in incomplete version of Windows, which a previous poster pointed out probably still has a bunch of debuig code/optimizing to be done.

  10. Re:Why? by r00t · · Score: 4, Informative

    It's not so much the 64-bit ability, though that is
    nice for dealing with the occasional 64-bit value
    and nice for dealing with over 896 MB of memory.
    It's the other stuff you get.

    With the AMD64 Opteron, you get double the number
    of registers. You get a modern calling convention.
    You get a 128-bit memory bus directly connected to
    the processor, without a north bridge chip in the
    middle. You get a good clock speed.

    With the Mac G5 (an IBM chip), you get IBM's
    ass-kicking FPU in a very well-made system.
    (this is what Linus Torvalds uses)

    The speed difference is noticable.

  11. Re:Why? by TheRaven64 · · Score: 4, Informative

    On a sane architecture, such as SPARC or PowerPC, you would be right. There is no advantage (and occasionally a penalty) in running 64-bit programs which use less than 4GB of address space. On x86 / AMD64, however, you gain an additional advantage when running in 64-bit mode - more registers. This gives a significant performance gain when software is compiler to take advantage of it.

    --
    I am TheRaven on Soylent News
  12. Okay, that review was kind of dumb by Gregoyle · · Score: 4, Insightful
    That review was pretty dumb. Listen to this:

    Since we are still testing out-of-the-box Operating Systems, we did not compile our own binaries for lame 3.96. Instead, we relied on the RPMs bundled with each operating system. For Windows, we went with Mitok compilation (which, sadly, has no 64-bit counterpart).


    They then go on to chart Windows performance in 32 AND 64 bit! They just told us that there was no windows 64 bit software! Also, the whole "out of the box" thing strikes me as just a tad bit lazy, being that this is an experimental platform on windows and a young one on linux. They do it again here:

    Mental Ray is the crème of the crop as far as 3D rendering programs go. We only had access to a 32-bit version of the renderer for Linux and Windows, so we used that for this portion of the benchmark.


    Gee, I wonder why the results are almost exactly the same?? Could it be because you used the exact same software on each platform?

    They do this again for UT2K4 and a couple other pieces of software. I understand that the 32 bit versions of the software were running on 64 bit versions of the OS, but do you really think that makes much difference? That seems like only question the article seems to asnwer here; the answer is no, it doesn't seem to make one fig of difference.

    Interestingly enough, there are many places where the 32 bit versions outshine the 64 bit ones. I wonder if that's due to poor optimization, or if it really means the 64 bit is overrated and only has an advantage due to increased memory addressing. I'd like to see benchmarks on software people think would benifit by using 64 bit.

    I'd also like to see them do these benchmarks again, this time being less lazy and compiling 64 bit versions of the software used on each plaform. And if you can't find 64 bit software on one of the platforms, don't do tests in that software and find something that does have 64 bit to compare.
    --

    "He's more machine now than man, twisted and evil."

  13. Biased, as usual by Anonymous Coward · · Score: 5, Insightful

    "SuSE comes out ahead of Fedora consistently - but more importantly, both Linux distributions also lay waste to the 64-bit and 32-bit editions of Windows XP"

    Huh? This was in the conclusion of the article. Close results, but I wouldn't call it "laying waste" to anything.

    And maybe I'm dumb or just a fanboy, but weren't they using 32 bit binaries on alot of the Windows tests? With Linux programs that had been ported to Windows, not vice-versa? I don't know much, but I know that most ports are certainly not uniformly well writen accross platforms, especially when done by other developers or as an afterthought. Not to mention this was all on a beta version of Windows?

    Just some things to think about. Not that many think on their own here.

  14. Re:Why? by milgr · · Score: 4, Informative

    64 bits should show improvements over 32 bits in two areas: high precision math, and large address spaces. Large databases like to use lots of memory.

    Under 32 bit linux, there are a couple of ways that memory may be split between kernel and user: 1:3 (one GB kernel, 3 GB user space); 2:2 (2GB addressible for each); 3:1 (3GB for the kernel, 1 for user space); 4:4 - each has 4GB addressible, but there is a significant performance penalties for system calls.

    It is possible to use more than 8GB RAM in a 32bit Linux system because different users will access different portions of virtual memory.

    For 64bit systems, the kernel could be configured to use 4GB RAM, and users could use over 4GB RAM without kluges to the OS. So there is a good use for 64bit systems.

    I think 64bit systems are useful for certain applications. On the other hand, most individuals don't need 64bit systems.

    --
    Where law ends, tyranny begins -- William Pitt
  15. SUSE is free by houghi · · Score: 4, Informative

    Unfortunately, you can't even try the Personal version of SuSE 9.1 without forking the $90

    The FTP instalation, wich is almost the same as the pro is available for free. mirrors are here Naturaly also the X86_64 is available on several mirrors.

    --
    Don't fight for your country, if your country does not fight for you.
  16. Re:Wow, without recompiling by Too+Much+Noise · · Score: 4, Informative

    If you had specific problems, file bugs. If it's just hearsay, don't bother posting it next time. 2004.0 works correctly on a lot of AMD64 hw - look only at how active the amd64 tree is, you think they're running it on emulators?

    For me, at least, AMD64 Gentoo is quite usable, thank you. Even with nvidia drivers out of the box.

  17. Worst... Benchmark... Ever by ThisIsFred · · Score: 4, Insightful
    This is the reason why I disregard most benchmarks. You might as well not even waste your time reading the article, because it is so skewed that it couldn't possibly be meaningful in the real world. To note:

    MPlayer for Windows is built with MinGW32. That's a big minus for Windows, and most of us that have compared compilers know that VC++ produces faster code. Chances are that mencoder doesn't prefer Microsoft's functions over standard ones, for portability reasons. The benchmark would have been fair if the respective platforms used whichever encoder is considered the best.

    The above applies for LAME. I also didn't see assembler optimizations mentioned, which is a feature that makes LAME so much faster than all the other audio encoders out there. But does that even work for 64-bit code?

    You can toss the rendering comparisions out as well. 32-bit versions were compared. Why even include it?

    Likewise with the game benchmarks. Of course Linux wins with the Unreal engine, because it's using the more efficient OpenGL renderer. Windows does not have this choice.

    There was no 64-bit Windows version of MySQL, yet they included the benchmark anyway. Amazing.

    Considering all the problems Anandtech had with 1) finding the right programs for 64-bit Windows, and 2) getting 64-bit drivers to work with the Linux kernel, they should have just said, "we couldn't complete the benchmark because third-party developers' software is not yet mature enough.

    --
    Fred

    "A fool and his freedom are soon parted"
    -RMS
  18. Basic Idea: "what should I do right now?" by Featureless · · Score: 4, Insightful

    It's a pragmatic test. Should I go to 64-bit yet? If I do, what OS should I run? What applications are ready?

    And the answer is, not surprisingly, go with an operating system where the sources are almost always open or at least generally available, so the migration to 64-bit will be vastly faster and better.

  19. Don't forget future-proof code.... by Kjella · · Score: 4, Insightful

    By itself, 64 bits will only be an advantage when you have large databases, with several billion records in a table. (...) Usually, when one has more than 32 significant bits in a number, programmers shift to floating point.

    Actually, I've been using a lot of (ok, some) 64 bit numbers in my programming recently. Why? Files over 4gb. Timestamps that should span more than 2^32 seconds. Calculations that could, if using extremely large numbers, pass 2^32. Yes, it will probably be overkill for 99,99% of the files, times and calculations that it handles. So what? The day you want to handle a DVD image, it will be far more annoying than the 4 bytes I skimped on when doing sizes and offsets.

    The difference between 32 and 64 bits is not significant anywhere but in the CPU. It is not significant on the hard disk, in memory or even over the network/Internet. So being able to do 0x0000000000000002 + 0x0000000000000002 = 0x0000000000000004 as easily as 0x00000002 + 0x00000002 = 0x00000004 has value in my opinion, no matter how few the significant bits...

    Kjella

    --
    Live today, because you never know what tomorrow brings