No announcement yet.

Ubuntu 12.10: 32-bit vs. 64-bit Linux Performance

  • Filter
  • Time
  • Show
Clear All
new posts

  • #31
    Originally posted by kokoko3k View Post
    ...If you want to deal with the large memory footprint of a native 64bit application you're certanly welcome.
    But i'd rather prefer X32 abi and my cpu cache to be used better, instead.
    Couldn't put it up any better.


    • #32
      Right! Where are those x32 distros?

      Originally posted by chithanh View Post
      Yes, there is Gentoo x32, Phoronix even wrote about it here:

      But most people here have given up on waiting for Gentoo benchmarks from Phoronix, so it is unlikely that we will see any x32 benchmarks before a point&click install distro comes with x32 support.
      Hi chithanh

      Thanks for pointing to this article.
      I remember now reading it.
      But as you mentioned, still was waiting for some comparisons.

      So let's hope, it's not gonna take too long for some other / more x32 distro's to show up.


      • #33
        Originally posted by rgloor View Post

        Hi Michael
        The x32 ABI has been in the Kernel for a while and several compiles have added x32 capability as well.
        I just wonder if there is somewhere a x32 version of a linux distro (test/alpha/beta)?

        Because that would give a more appropriate comparison.
        There is a Gentoo x32 image out there. Many things did not even compile in the begining, but this has
        improved greatly now. However, its still mostly in a broken and unusable state for things the readers of
        this forum would require. One big problem, is that yasm doesnt yet produce x32 object files. This breaks
        most of the things that require an assembler for tuned code; think video codecs and media encode/decoders.
        Other more mundane projects still have not addapted to this new format yet. Gentoo is a rolling release, so
        I have observed its progress in my chroot x32 image, and it seems to keep improving, but I have not noticed
        any dramatic savings of space (there are some) or relevant benchmarks (the things I would like to bench
        dont work yet). I suspect it will mostly be relevant to the embedded space for some time. However, x32
        binaries can run along side the already co-existing 32bit x86 and 64bit native applications, with the main
        cost being the space to store their own set of libraries. If you had to choose between an x32 application and
        an x86 one, I dont see why you would not choose x32 as long as it works. The question now is, how long
        if ever, will x32 be made to work...


        • #34
          There is demand for different versions! with Intelligent setup/installation?

          I guess, there is demand for different version:

          a) Limited hardware
          There are still 32bit CPUs around (old machines, various ARM architectures, other special hardware).
          Those DO REQUIRE 32bit code.

          b) Heavy load 64bit applications
          There are some 64bit applications (CAD, database, video editing, some games, servers, ....) which can really benefit from the 64bit setup. Hence they should or even MUST RUN in 64bit mode.

          c) Rest and/or many desktop use cases
          A large part of installations does not really benefit from the 64bit pointers. They could however benefit from a large performance gain through the new extended instruction set.
          For those, an enhanced / optimized 32bit system (x32 ABI) should deliver the best performance.

          In the (hopefully near) future, when the x32 has been settled, there might be an intelligent installation:
          When somebody chooses a 32bit installation and has a 64bit architecture, the system automatically selects the x32 ABI version for best performance.


          • #35
            If there is any benefit at all in x32, outside a select few synthetic benchmarks and bandwidth-starved mobile architectures.


            • #36
              It DEPENDS on the USE CASE !

              Originally posted by chithanh View Post
              If there is any benefit at all in x32, outside a select few synthetic benchmarks and bandwidth-starved mobile architectures.
              I would expect so.

              Various tests are showing compiling kernels, heavy en- and decoding of media files, heavy video editing, large database applications and some gaming do actually benefit from the 64bit pointers.
              Interestingly, those are the tests that usually are performed in benchmarks. (Also look at the phoronix tests.)
              On the other hand, tests have shown that many applications used for desktop environments (office apps, mail programs, browser, etc., when not heavily utilizing x86_64 extensions or memory intensive) are usually running faster in 32bit than 64bit.

              So there are many use cases, where 64bit systems makes more sense and therefore should be choosen
              (preferred over a 32bit version)!
              On the other hand, there are also many use cases, which should actually benefit from the reduced footprint of 32bit pointers (when allowed to use the new x86_64 instruction sets) and hence be choosen (preferred over a 64bit version)!

              My point is: It depends on the use case!

              However, since there are no testable x32 systems available, one has to wait until then.
              And then, I hope phoronix is running some benchmarks for different use cases.
              So one can then see, which system makes more sense for which use case.
              Last edited by rgloor; 10-15-2012, 07:25 AM.


              • #37
                Debunking x32 myths

                x32 fanatics should read this...


                • #38
                  Originally posted by whitecat View Post
                  The new x32 ABI has proven to be faster. Not really; what we have right now are a few benchmarks, published by those who actually created the ABI, Of course you’d expect that those who spent time to set it up found it interesting and actually faster, but I honestly have doubts about the results
                  "Doubts" means... doubts, not something you should start from to define something a myth.
                  Simple bench:

                  From one side it is theoretically correct that you’re going to have smaller data structures, which means you can make better use of the data cache (not of the instruction cache, be sure!) — but is this the correct approach?
                  Still, saying that the approach may be wrong doesn't imply that that approach is a myth.

                          exec         data       rodata        relro          bss     overhead    allocated   filename
                       1239436         7456       341974        13056        17784        94924      1714630   /lib/
                       1259721         4560       316187         6896        12884        87782      1688030   x32/
                  this was libc, see that x32 loses just in the exec field.


                  • #39
                    Originally posted by whitecat View Post
                    Thanks whitecat for the link.

                    I have read the article, as well as the comments.
                    Have you read the comments/discussion as well? Especially toward the end!

                    From what I read from various sources, there is a legitimate chance, that x32 might be beneficial in some use cases. And my statement is:
                    - One has to wait for the real deal: A released distribution with x32 properly implemented (might be only at the 2nd iteration).
                    - Then run several benchmarks for several use cases.

                    And only then we will see, which version is better suited for which use case. Point.

                    If that is fanatics by your definition, then you might call me fanatic.


                    • #40
                      Originally posted by kokoko3k View Post
                      Diego Elio Petten? wrote:
                      The data is also coming from a synthetic test, not from an actual overall system usage, and if you have any clue about benchmarks you know that the numbers can easily lie out of their teeth!

                      And in your benchmark:
                      x86-64 : 114 %
                      x32 : 117 %

                      Awesome. A new ABI for that?
                      x32 has 9 years late. For desktop or servers nobody will use x32 because x86-64 is already here.

                      And you forgot that proprietary vendors (Nvidia, AMD, Adobe, Microsoft) will certainly never support x32 because it's a waste of time.