LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Software (https://www.linuxquestions.org/questions/linux-software-2/)
-   -   64bit and 32bit (https://www.linuxquestions.org/questions/linux-software-2/64bit-and-32bit-775042/)

JK3mp 12-11-2009 04:39 PM

64bit and 32bit
 
What would be the advantage of running a 64bit system over a 32bit system? I only have 3GB of ram but plan on kickin another 1GIG into it. But i wanna try 64bit Linux(probably slackware) on it. But first im just wondering what the advantages are people have seen who have used both 32/64bit linux. Speed? Smoothness? And also what are major disadvantages such as compatibility, configuration, etc. Any help/comments appreciated...thanks.

pixellany 12-11-2009 04:50 PM

64-bit OS will address >>4GB of RAM without special paging techniques. 32-bit is limited to something < 4GB.

Some applications will be faster--IF they are optimized for 64-bit.

The only real downside of 64-bit is that a few things don't work as easily---eg Adobe Flash. This will likely improve pretty fast however.

salasi 12-11-2009 04:54 PM

when you get to 4G (or more), you'll be able to use more of your ram...well, unless you are comparing with a 32 bit PAE system, when you could still use all of your memory, up to some higher limit.

It could be faster or slower depending on your load profile (although, obviously, if that extra amount of memory is of real use to you, that might make a bigger difference than 32 bit or 64 bit, per se).

Quote:

...major disadvantages...
It used to be that the major disadvantage was the absence of some items of proprietary software, or of using 32 bit code in your 64 bit system, but that is less the case today.

JK3mp 12-11-2009 05:21 PM

So as of now w/o additional RAM its pointless? From what i've seen googleing around (though some are old threads etc.) there's no real advantage right now to 64bit at least not without 4GB+ Ram. And i did hear that flash hasn't made a plugin compat with 64bit, which is a big throw off honestly.

Erik_FL 12-11-2009 06:08 PM

Quote:

Originally Posted by JK3mp (Post 3788330)
So as of now w/o additional RAM its pointless? From what i've seen googleing around (though some are old threads etc.) there's no real advantage right now to 64bit at least not without 4GB+ Ram. And i did hear that flash hasn't made a plugin compat with 64bit, which is a big throw off honestly.

That's pretty much true. In fact, one disadvantage of using 64-bit is compatibility with older drivers and applications that may only work with 32-bit operating systems.

I have 6GB of RAM and still run a 32-bit Linux OS with PAE support enabled in the kernel. The main reason why people have been forced into 64-bit operating systems is that Microsoft never implemented full PAE support in 32-bit versions of Windows. Since Windows Vista changed the driver programming model, that would have been a perfect time to support more than 4GB of physical memory in 32-bit versions of Windows.

PAE does not add overhead in accessing the additional physical memory. The overhead for managing the page tables only increases slightly, and that is done so infrequently that it isn't noticeable.

Recompiling applications for 64-bit can actually make them slower depending on how they are written. 64-bit mode has no 64-bit absolute address mode, so 64-bit addresses must be loaded into a register before they can be used. Unless the compiler and sometimes application are optimized for 64-bit execution it may actually result in worse performance.

Marketing mostly the reason for 64-bit hardware and software and it has little to do with actual application requirements.

lazlow 12-11-2009 06:30 PM

It all depends on what you are going to be doing. For example transcoding videos will(in most cases) see a huge performance increase by going 64bit(roughly a 45% reduction in processing time compared to 32bit). For things like OOofice, FF, Thunderbird, etc, you probably will not be able to tell the difference.

There are actually very few apps around now that do not have a 64bit version. Personally Flash was the last major holdout for me and the 64bit version has been around for two years now(functionally equivalent to 32bit version). Most distros have just as many packages in their 64bit repo as they do in their 32 bit repo. Off hand I cannot think of an application that I use that does not have a 64bit version.

AwesomeMachine 12-11-2009 09:39 PM

I haven't noticed any difference, except that nothing works right with 64-bit. I still use 64-bit, though. I don't think most desktop users would see a difference.

johnsfine 12-12-2009 09:29 AM

Quote:

Originally Posted by AwesomeMachine (Post 3788474)
except that nothing works right with 64-bit.

What is that supposed to mean?

Quote:

I still use 64-bit, though.
It isn't that hard to switch. If anything important to you doesn't work, why would you keep 64 bit?

I never figured out how to get Google Earth installed in 64 bit Mepis (should be the same as in any Debian based). I tried a few different ways and always reached a result that came up without error messages with all the controls active, but nothing ever displayed.

Other than Google Earth, I'm not aware of anything I might have wanted that doesn't work smoothly with no issues that I would attribute to 64 bit.

Quote:

I don't think most desktop users would see a difference.
I did a bunch of importing videos from mini DV camcorder (firewire) and editing and recompressing them. After some initial stupidity on my part (quickly resolved after I asked some stupid questions here and got good answers), it all was amazingly fast and smooth, despite working with massive video files.

I can only really compare that to 32 bit Windows. Trying similar things on 32 bit Windows XP involved much more install time confusion and frustration (no good place to ask the stupid questions). The process was filled with glitches throughout. The size of file it could handle without crashing was far lower and even with smaller files the processing speed (on the same speed dual core CPU) was vastly slower.

I never did the tests to see how much of the difference was 64 bit vs. 32 bit as opposed to Linux vs. Windows. So I think 64 bit has a significant advantage in that sort of work, but I didn't do anything to prove it.

linuxpokernut 12-12-2009 10:39 AM

Quote:

Originally Posted by JK3mp (Post 3788330)
So as of now w/o additional RAM its pointless? From what i've seen googleing around (though some are old threads etc.) there's no real advantage right now to 64bit at least not without 4GB+ Ram. And i did hear that flash hasn't made a plugin compat with 64bit, which is a big throw off honestly.

Yep. I've had people tell me differently but never have seen any proof. I have tried the exact same OS in 64 and 32 bit on the same computer (same config) and the 64 bit was not faster and less compatible. If you want more ram get 64 bit, otherwise dont bother.

Erik_FL 12-12-2009 11:00 AM

One can't really equate 32-bit Linux with 32-bit Windows unless the Linux system is limited to 4GB of RAM. A lot of performance increase can be had from extra file caching in RAM. 32-bit versions of Linux can support more than 4GB of RAM and use the extra for file caching. There are obviously some things that a 64-bit operating system does faster, and there will likely be more of those as 64-bit becomes more common.

I do use 64-bit Windows because it was the only way to support the 6GB of RAM in my computer. I had less problems with application compatibility on 64-bit Windows than I did with 64-bit Linux but that was mainly due to web browser plug-in issues. The latest Slackware 13 release officially supports 64-bit and it works as well or better than the 32-bit version. I haven't started using Slackware 64-bit because of the web browser issues and the fact that it doesn't include the 32-bit compatibility libraries. I could install the 32-bit support but it didn't seem that I would gain anything from using 64-bit at the moment.

Graphics drivers are another area where there may be problems with 64-bit Linux compatibility. Linux support from nVidia and ATI has been haphazard and some products are supported better than others. One would think that newer products should have better 64-bit Linux support but that hasn't always been the case.

My main Linux problems these days all have to do with the still evolving KDE desktop and lack of compatibility with VirtualBox. I still use Windows Vista 64-bit for most things. The performance is mediocre compared to Linux but it's still more compatible with the software that I use. That's not to say Vista is better, only a better choice for me to run applications I mostly use. When I won't be running any of the incompatible applications I usually boot Linux and enjoy the extra performance.

johnsfine 12-12-2009 11:05 AM

Quote:

Originally Posted by linuxpokernut (Post 3788911)
I've had people tell me differently but never have seen any proof. I have tried the exact same OS in 64 and 32 bit on the same computer (same config) and the 64 bit was not faster and less compatible.

The details are certainly lacking, but I think there is convincing evidence that many applications run significantly faster in 64 bit.

Quote:

If you want more ram get 64 bit, otherwise dont bother.
Why would you say that? You wanted "proof" before believing 64bit is faster for applications. But you can decide it is better for "more ram" without a shred of evidence.

There is a good theoretical reasons for saying that more/less ram is no basis for deciding 64/32 bit across a wide middle range of ram sizes (maybe 1.5GB to 12GB). There is little if any rigorous testing to prove that idea either, but there is probably no testing at all to support the probably wrong idea that ram size in that range should affect the 64/32 bit decision.

At some large ram size, the kernel virtual memory limits of 32 bit become painful and a 64 bit kernel is much better. At some small ram size, the slightly larger binary code and pointer sizes of 64 bit matter (the extra memory costs for some duplicate .so files for multi lib may matter even more). But in between, neither of those factors is significant.

linuxpokernut 12-12-2009 12:45 PM

Quote:

The details are certainly lacking, but I think there is convincing evidence that many applications run significantly faster in 64 bit.
lets see it. And there is also convincing evidence right here in this forum that there are many many 64 bit apps that don't work.

Quote:

Why would you say that? You wanted "proof" before believing 64bit is faster for applications. But you can decide it is better for "more ram" without a shred of evidence.
Eh I didn't say that. For one thing I said I tried 64 bit and it was less compatible and no faster. I simply said the I had never seen any evidence, and for the record I still haven't. Secondly I didn't decide 64 bit was better for more ram, I said "If you want more ram get 64 bit, otherwise don't bother." 4 gigs won't work properly using a 32bit OS.

Erik_FL 12-12-2009 12:52 PM

The 64-bit execution mode has a few more things besides just support for larger virtual address space. It adds some registers in addition to making the registers 64 bits. That means 64-bit compilers can often generate more efficient code by making use of the extra registers to store values. Software that has to check for 32-bit overflow often can eliminate those checks since it is nearly impossible to overflow a 64-bit value in most calculations. Time and date calculations can benefit greatly from 64-bit support, for example.

I wouldn't dismiss the idea of 64-bit software having better performance because there is certainly enough evidence to support that claim for at least some applications. Everyone has different priorities for their operating systems and in some cases a little extra performance with 64-bit is worth the extra effort. Some hardware and software configurations have no compatibility issues with 64-bit.

I usually put more emphasis on compatibility and reliability and less on performance. I don't think that reliability is an issue with 64-bit any more, and compatibility issues are diminishing. In my opinion, 32-bit and 64-bit Linux versions are about equal now. They both probably have the same number of issues with compatibility and performance, but the best choice depends on the application.

My decision to stick with the 32-bit version of Slackware for now was due to my other 32-bit computers. I prefer to use one Linux OS for all of them. Many people have found that 64-bit versions of Linux provide performance and other benefits without any significant problems or compatibility issues.

The choice between 32-bit and 64-bit Linux is a lot less clear than it is for Windows because Linux fully supports the addressing features of 32-bit PAE mode. Linux users are also not forced to update Linux just to keep application compatibility or support.

johnsfine 12-12-2009 03:05 PM

Quote:

Originally Posted by linuxpokernut (Post 3788999)
I said "If you want more ram get 64 bit, otherwise don't bother." 4 gigs won't work properly using a 32bit OS.

4 Gigs (full 4 GB of ram, not 3 point something) works fine on the 32 bit Linux systems I use that have 4 GB of ram. 8 GB of ram works fine on the 32 bit Linux system I use that has 8 GB of ram.

Some of those systems have old CPU's that don't even support long mode.

johnsfine 12-12-2009 03:36 PM

Quote:

Originally Posted by Erik_FL (Post 3789001)
Software that has to check for 32-bit overflow often can eliminate those checks since it is nearly impossible to overflow a 64-bit value in most calculations. Time and date calculations can benefit greatly from 64-bit support, for example.

Almost all 32 bit operations are done without any check for overflow. Using 64 bit integers in software other than for support of 64 bit pointers is very rare. 32 bits is enough for almost all natural uses of integers.

The int data type in x86_64 is 32 bit. Almost all time and date computations in software are written generically with a focus on 32 bit architectures. The same code that works in x86 is used in x86_64. Maybe some of that code could benefit from 64 bit integers, but most of it actually uses the same 32 bit integers in x86_64 as in x86.

GCC is too generic a compiler for x86. It does badly with the small number of registers in x86. x86_64 has twice as many registers, so GCC generates better code, causing some programs to run significantly faster.

All x86_64 models have a consistent minimum level of support for SSE, so GCC can use SSE for any X86_64 compile. Some x86 models lack SSE, so GCC generally doesn't create binaries to use SSE and if it did, they would only run on some models. Some programs get significant benefits from using SSE.

64 bit code tends to be larger than 32 bit and 64 bit pointers are twice the size of 32 bit. That tends to result in more cache misses and makes 64 bit applications run slower.

The net speed difference between 32 bit and 64 bit can go either way depending on which of the above factors is more significant for each specific application.

Quote:

The choice between 32-bit and 64-bit Linux is a lot less clear than it is for Windows because Linux fully supports the addressing features of 32-bit PAE mode.
On the flip side, Linux doesn't have a price difference between 32 bit and 64 bit versions of the OS.

At this point, I don't even know if you can still buy XP. When I last bought XP, the performance advantage of 64 bit XP over 32 bit XP was certainly clearer than 64 bit vs. 32 bit Linux. But with XP, you also needed to factor in a significant price difference.

For existing 32 bit Windows systems and existing 32 bit Linux systems, that effective price difference is an even bigger factor in the choice of whether to leave it alone vs. upgrade. Reinstalling Windows is harder and upgrading from 32 bit to 64 bit is generally a lot more expensive than the original price difference. With an existing 32 bit Linux system, if you hardware supports 64 bit and you have a reason to upgrade, the costs in dollars and time aren't completely trivial, but they are much less than with Windows.

As a user of both 32 bit and 64 bit in both Linux and Windows, I have seen a lot more incompatibilities using 64 bit Windows than using 64 bit Linux (generally applications tripping over the ugly kludge for registry settings across the 32 to 64 boundary). That is another way that despite the performance difference, 64 bit Windows may be a non obvious choice.


All times are GMT -5. The time now is 05:38 AM.