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.

32-bit vs. 64-bit Ubuntu 13.04 Linux Performance

04-25-2013, 02:40 AM

Phoronix: 32-bit vs. 64-bit Ubuntu 13.04 Linux Performance

While nearly all modern Intel/AMD x86 hardware is 64-bit capable, among novice Linux users the question commonly is whether to install the 32-bit or 64-bit version of a given distribution. We have previously delivered benchmarks showing Ubuntu 32-bit vs. 64-bit performance while in this article is an updated look in seeing how the 32-bit versus 64-bit binary performance compares when running Ubuntu 13.04 with the Linux 3.8 kernel.

Comment

I confess, I use 32Bit Xubuntu. I use it for compatibility and because I have only 4GB Ram. I also use it because, at the time I got the ISO, the page actually recommended I use the 32Bit version. There are still people having issues with 64bit believe it or not and a lot of software only has 32bit versions. I can say with confidence, I'll be using 32bit for the foreseeable future. At least until I get 8 or 16 GB of Ram, then I'll move to 64Bit. But right now I have zero use for it, 32Bit is working out fine for me. I understand I may sound odd to some of you, but it's working out great for me.

Comment

Any ideas why the big difference in some cases? I was hoping they were more or less equal, maybe with the 64 to have an edge.

In 64-bit mode the processor has twice the number of registers. So more data can be kept there. Also, the calling convention uses more registers to pass values - no need to put them on the stack for most functions. Also, the FPU implements SSE2. Sure, you can use SSE2 in 32-bit code but your code has to check for the presence of SSE2 because that's not guaranteed. So I assume most application on 32-bit land are compiled with x87 FP code which is slower. I think there's faster SYSCALL instruction too. Maybe other things as well.

The major drawback is that pointers are twice the size so for pointer heavy applications it might get a bit slower. But it seems that overall 64-bit is worth it. I've been using 64-bit Ubuntu for 5 years now. Never had any problems. And all 32-bit applications run fine. Initially I ran them in a 32-bit jail but now I don't bother. Properly made 32-bit packages for 64-bit distributions pull in the 32-bit libs so it's fine. The dynamic linker knows what libs are needed and where to find them.

Comment

I confess, I use 32Bit Xubuntu. I use it for compatibility and because I have only 4GB Ram. I also use it because, at the time I got the ISO, the page actually recommended I use the 32Bit version. There are still people having issues with 64bit believe it or not and a lot of software only has 32bit versions. I can say with confidence, I'll be using 32bit for the foreseeable future. At least until I get 8 or 16 GB of Ram, then I'll move to 64Bit. But right now I have zero use for it, 32Bit is working out fine for me. I understand I may sound odd to some of you, but it's working out great for me.

Mike, on Linux you really want to use 64-bit kernel even physical RAM of 1GB (or larger, of course). Due to the way Linux partitions the virtual memory space, there's only 960MB in the kernel-reserved area to map physical memory. So it often has to remap if it needs to access RAM that is not mapped at the moment. I don't know how much it slows down the system - maybe not by any signifficant amount - but why bother. Just use 64-bit kernel and 32-bit userland. The 32-bit support on 64-bit kernels is flawless.

BTW, are you sure you have access to all your 4 gigs of RAM. If you use non-PAE kernel you' probably have 3.5GB or sth like that. Windows keeps it like that even for PAE kernels. I don't know how it is with PAE-enabled Linux kernels. But Linux calls PAE "an ugly hack". I've switched to 64-bits and never looked back.

Comment

Any ideas why the big difference in some cases? I was hoping they were more or less equal, maybe with the 64 to have an edge.

64 bit is superior at data crunching because of it's larger register size. Other than that, the only other glaring reason to go 64 is large ram support.

Yes there are more registers in the AMD_64 protocol.
no, most programs don't use them (same with all the mmx,sse,3dnow etc no one ever used (I did but that's besides the point).

There are other benifits and backfires (large address space), still wish we could get some 64 bit games why everyone has a love affair with 32 is beyond me.. oh yeah Windows. Took them what? until 2005 to even support it.. we had support in 2001 =).