If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Ubuntu 32-bit, 32-bit PAE, 64-bit Benchmarks

Phoronix: Ubuntu 32-bit, 32-bit PAE, 64-bit Benchmarks

Coming up in our forums was a testing request to compare the performance of Linux between using 32-bit, 32-bit PAE, and 64-bit kernels. This is coming after Linus Torvalds has spoke of 25% performance differences between kernels using CONFIG_HIGHMEM4G and those without this option that allows 32-bit builds to address up to 4GB of physical RAM on a system. We decided to compare the performance of the 32-bit, 32-bit PAE, and 64-bit kernels on a modern desktop system and here are the results.

Did you just use a the 3 kernels and kept the same 32bit user space or did the 64 bit kernel use 64bit user space?

If the latter do you know what Ubuntu compiles it's 32bit user space as? If memory serves I think ubuntu are using i486 on 32bit user space where as the 64bit user space will be using sse2 as default which could explain some of the differences

Would it be possible to try the same test again using Gentoo or Arch (or another distro that uses i686 as default)

One remark: in the switch from x86 to x86_64 the number of GPRs and XMM register is doubled, and of course 64bit ops require only one output register. In the OpenSSL (and John The Ripper) test case the big difference is probably due to the improved ISA rather than to bigger AS (iirc crypto was one of the showcases of earlier amd64 CPUs).
In general PAE will impact negatively the performance only once the kernel has to map/unmap pages that are not currently accessible; at least in OpenSSL, x264, blowfish and other CPU bound tests I don't expect a significant pressure on mm (hence the small difference between PAE and non-PAE).

It's great to see such comparision!
I've put 3GB RAM into my machine few days ago and with default Ubuntu kernel I have only 2,5-2,7GB available. I was thinking to use PAE enabled kernel but I've heard about serious performance drop mentioned "everywere". I can't use 64bit kernel because my CPU is only 32bit.

Did you just use a the 3 kernels and kept the same 32bit user space or did the 64 bit kernel use 64bit user space?

If the latter do you know what Ubuntu compiles it's 32bit user space as? If memory serves I think ubuntu are using i486 on 32bit user space where as the 64bit user space will be using sse2 as default which could explain some of the differences

Would it be possible to try the same test again using Gentoo or Arch (or another distro that uses i686 as default)

Cheers

Mike

Gentoo ? default ?
You may mean Sabayon (i586) ?
Once Ubuntu used to have i386, i586 and amd k8 binaries.
Just waste of resources (silicon). Gentoo is up to 4 times faster compared to Ubuntu. To gain such advantage in HW, you'll usually spend a lot of money.

Gentoo ? default ?
You may mean Sabayon (i586) ?
Once Ubuntu used to have i386, i586 and amd k8 binaries.
Just waste of resources (silicon). Gentoo is up to 4 times faster compared to Ubuntu. To gain such advantage in HW, you'll usually spend a lot of money.

What?

I'm trying to say that changing the default compiler options on 32bit systems can show huge differences

Phoronix could show the differences quite easily using their test suite

I think I've seen a non-Phoronix article showing just that using the PTS

Did you just use a the 3 kernels and kept the same 32bit user space or did the 64 bit kernel use 64bit user space?

If the latter do you know what Ubuntu compiles it's 32bit user space as? If memory serves I think ubuntu are using i486 on 32bit user space where as the 64bit user space will be using sse2 as default which could explain some of the differences

Would it be possible to try the same test again using Gentoo or Arch (or another distro that uses i686 as default)

Cheers

Mike

Well sse2 being part of the standard ABI is one of the advantages of x86_64 (i.e sse2 is always available).

And the summary gets it straight to the point there is NO reason not to use x86_64 on x86_64 capable hardware.

Have they proved that you should be using the Ubuntu 64bit CD or have they proved that if you use the 32bit CD you should install a 64bit kernel?

The former, a 32bit app running on a x86_64 kernel cannot (and does not) provide performance gains like this (the kernel itself should have a very small impact if any (in most benchmarks); as shown with the PAE vs. NONPAE kernels).

The former, a 32bit app running on a x86_64 kernel cannot (and does not) provide performance gains like this (the kernel itself should have a very small impact if any (in most benchmarks); as shown with the PAE vs. NONPAE kernels).

The problems is they haven't specified this - in fact they've only told us the differences between the kernels