Quote:
Originally Posted by vikrang
Is there a huge improvement in performance over 32 bit ?
|
Probably not. But it depends on how you use the system.
Quote:
Some people argue that the difference is barely noticeable for RAM under 4GB and unless you are planning to use huge chunks of RAM like 8GB or 16GB it is wiser to stick to 32 bit ...
|
There is almost zero reason for the performance advantages of 64-bit to be either larger or more likely on an 8GB system than on a 2GB system. If you run typical processes on a 2GB system that don't get a benefit from 64-bit and compare that to the same activities on an 8GB system (either four times as many such processes, or more likely just having less disk I/O because you have a lot more caching) it will still be no faster in 64 bit than 32 bit.
If a specific app gets a big performance boost from SSE2 and/or having twice as many registers, it will get that same big performance boost on a system with 2GB as it would on a system with 8GB.
Some other people quote a major performance difference across a wide range of applications (see post #2 in this thread). I'm pretty sure that is also wrong. That testing must have been flawed, because the results aren't reasonable.
Quote:
Originally Posted by tronayne
If you're doing heavy-duty mathematics or CAD, maybe-to-probably.
|
Still depends on internal details of the application programs that are very hard for a prospective end user to predict. A lot of heavy-duty math or CAD programs are internally more symbolic than numeric or have other reasons to work more with pointers than with numbers. If you combine that with moderately large problem size (.5GB to 3GB) you hit the strongest reason that 32 bit might be significantly faster than 64 bit: Same number of pointers manipulated but every pointer twice as large means the 64 bit app has a terribly worse miss rate on the L2 cache compared to the 32 bit app and that factor swamps out every other performance difference.
Lots of math or graphics problems get a giant benefit from SSE2 in x86_64 (32 bit mode has SSE2 but with half as many registers and the compiler typically won't use even those).
So your heavy duty math or CAD might be a lot slower or faster in 64 bit compared to 32 bit. You can't predict even the direction of that difference knowing just "heavy duty math or CAD". If you don't do a good controlled test of the specific use, you don't know which is faster.
Quote:
The next wave will probably be 128-bit (or more) processors
|
I doubt it. 16 bits was already too little before the 8086 was invented. 32 bits had very little room for growth when the 386 was introduced. When AMD64 was introduced, its 48 bit virtual addressing had geometrically more room for growth above then current needs than the 32 bits of the 386 ever had. A linear amount of time corresponds to roughly a geometric increase in memory but only a linear increase in address size. So the jump from needing 48 bits to needing 64 bits should take as long as the jump from needing 32 bits to needing 48 bits. But that could be longer than the time between the 386 and AMD64 because the 386 was more overdue vs. memory needs when introduced than was AMD64.
As 48 bit virtual addressing becomes insufficient, CPU designers and the developers of one isolated part of each OS can shift to or toward 64 bit virtual addressing. That can happen with none of the giant changes to compilers and the rest of the OS accompanying the 32 to 64 bit transition or even bigger changes that were needed for 16 to 32.
A prediction should also factor in the fact that the market is larger and the range of needs is larger. Combine that with the greater compatibility between 48 bit addressing and 64 bit addressing as compared to 32 vs. 48. That implies 64 bit addressing will arrive much further ahead of any need by ordinary users and then coexist in the market with 48 bit much longer than 48 bit has been coexisting with 32 bit.
All that puts the step beyond 64 bit addressing too far in the future to be the "next wave". I think the next architecture shift as significant as x86 to x86_64 will be something other than an increase in address size.