Quote:
Originally Posted by LazerPhreak
1) Is it possible to upgrade from the 32 bit to the 64 bit of OpenSuSE 11.2
|
Most experts and documentation agree, you can't upgrade from 32 bit to 64. You need to reinstall. But this post claims otherwise:
http://www.linuxquestions.org/questi...14#post3815014
He claims an in place upgrade
Quote:
from opensuse 11.0 32bits to opensuse 11.2 64bits
|
Quote:
Originally Posted by LazerPhreak
without losing any files?
|
But even if you must reinstall, you don't need to lose any files. You could back up before upgrading and restore after. If you have enough free disk space, it is safer and requires less expertise to shrink your current partitions (other than swap) and create new partitions (other than swap) for the new version. Then install the new version setting grub to allow selection of either. Then boot a few times in each while you compare behaviors, copy data from the old to the new and discover what files or setting you need from the old that you might not have remembered before comparing behavior.
Quote:
Is the upgrade to 64 bit worth the hassle? What benefits would I notice?
|
I don't think any of us know. Those who told you the amount of ram is a significant factor in whether you will have benefits, are simply wrong. From about 2GB to about 8GB of ram, the amount of ram is not a significant factor in the relative performance of 32 bit vs. 64 bit.
Somewhere below 2GB, there is too little ram for 64 bit to run as well as 32 bit.
Somewhere above 8GB, there is too much ram for 32 bit to run as well as 64 bit.
Between those two extremes (regardless of where you are between) some programs will run faster as 64 bit. Other programs will run faster as 32 bit.
If your kernel is 32 bit, you can't run 64 bit programs. If your kernel is 64 bit, you can run both 32 bit and 64 bit programs, so if you knew which programs were faster in 32 bits, you could set up a 64 bit systems with selected programs 32 bit. But since you don't know, most people setting up a 64 bit system, make almost all programs 64 bit, including those that would be faster as 32 bit. So typically, the only 32 bit programs are those that the distribution doesn't have available as 64 bit.
The major CPU features that make 64 bit programs run faster are:
1) It has twice as many registers, so functions that are too complex for GCC to figure out good register allocation in x86 will have extra instructions for register spills in x86 and won't have those extra instructions in x86_64. Fewer instruction may mean it runs faster.
2) All x86_64 models have SSE, so the compiler always uses SSE for x86_64. Some x86 models lack SSE, so the compiler normally doesn't use SSE for x86 even for x86 models that have SSE. Some functions, especially those involving large amounts of floating point math, run faster when compiled for SSE.
The major CPU features that make 32 bit programs run faster are:
1) Pointers and those integers that are used in support of pointers are half as big, so their use results in few cache misses. Some programs use a lot of pointers and have performance dominated by cache misses. Such programs run faster in 32 bit mode.
2) Average instruction size is slightly smaller in 32 bit mode. In a few alignment cases, that allow more instructions to start in parallel per cycle. In other situations, it avoids cache misses. All 32 bit programs start with a modest advantage because of this effect. That might or might not be overwhelmed by the number of registers or SSE as described above.
It is quite hard for a non programmer to even guess which programs would be dominated by which of the above effects. Even a programmer is barely better than guessing before running a profiler on an individual program.
In theory, the common activity by ordinary computers users that should benefit most from SSE is encoding and decoding video and audio. But I never tested to see whether the facts match the theory for those.
A non programmer might think a large complicated spreadsheet uses a lot of floating point and would benefit from SSE. A programmer should know the performance of spreadsheets is dominated by the pointers, not by the floating point. I use some very complicated spreadsheets and they are noticeably faster in 32 bit.