Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

hvfsl

macrumors 68000
Jul 9, 2001
1,867
185
London, UK
People in this thread seem to think that 64bit is the same speed as 32bit. When software is optimised for 64bit it will be faster than 32bit software running of the G5. There may not be a big difference, but there will be some. This is because 64bit code can be processed more efficently than 32bit on the G5. This is due to the fact that 64bit apps will be throwing more data at the G5 over a period of time compared to 32bit apps. The G5 has a limit to the amount of data it can process over a period of time, but 64bit code makes it easier for the G5 to reach that limit.
 

DakotaGuy

macrumors 601
Jan 14, 2002
4,226
3,791
South Dakota, USA
Originally posted by Powerbook G5
It's a little sad knowing the bus on my G3 is just under half that of the G4...you'd think after all these years they could get a little faster than 167 MHz.

They did get a little faster 800Mhz to 1Ghz on the G5. I know you are talking about the G4 bus, but you make it sound like a faster machine is not offered.
 

Don

macrumors newbie
Aug 19, 2003
12
0
london
The G5 has a limit to the amount of data it can process over a period of time, but 64bit code makes it easier for the G5 to reach that limit.

wouldn't that make it run slower if it can reach its limit easier? shouldn't it run better if it is harder to reach its limit? sorry if im being stupid...i jst woke up and am awaiting pb updates!! :p
 

freddiecable

macrumors 6502a
May 16, 2003
656
196
Sweden
Panther?

I want Panther to be delivered with my Dual 2Ghz G5! What if - you don't get a free update!?

PowerMac G5 was everything we wanted - and more! Stop BSing about performance. Obviously it will be a blazingly fast computer - AND it does not have to be 10 times faster than a 3 Ghz Pentium - it's sufficient enough to be as fast or a little bit faster...

peace brothers and sisters:p
 

leo

macrumors member
Mar 5, 2003
30
0
Cologne
Originally posted by hvfsl
People in this thread seem to think that 64bit is the same speed as 32bit.

Well, 64-bit can also be slower, because the caches can only hold half the number of adresses.


When software is optimised for 64bit it will be faster than 32bit software running of the G5. There may not be a big difference, but there will be some. This is because 64bit code can be processed more efficently than 32bit on the G5.

Can you elaborate this?

And what exactly is "64-bit code"? The instruction set of the G5 itself does not differ from that of the G4, except for some cache-hinting and the ability to interpret a 64-bit integer as a 42-bit address.

In how far does the code of the inner loop of a photoshop filter differ when optimised for G5, except for the adapted instruction scheduling and cache-hinting (which are independent of 64-bitness)?
 

MacRETARD

macrumors newbie
Jan 3, 2003
26
0
Originally posted by visor
Oh well, who needs extremely large floating point operations anyway...

thank god all rendering and Gaming Apps won't need floating point operations... All those high end apps that do real time processing -surely they won't need floating points...
Thank god we don't need large memory. My god, designing a poster ought to be good enough at a resolution 640*480, right?

It makes far more sense to optimize on 8 bits - for backwards compatibility, you know.

1) Floating point operations are already bigger than 64 bits on the G4, surprise surprise! They are 80 Bits.

2) If you have a 64 bit pointer, its takes 64 bits of memory, if you have a 32 bit pointer it takes 32 bits. Also if you have a program that uses an integer with the default size it will be 32 bits in a 32 bit program and 64 bits in a 64 bit program. Sorry to seem like im being redundant but I have a point. The point is if you program doesnt need to use integer operations (not floating point), or access more memory than 4 gigs then a lot of the program will take up twice as much memory. If it takes twice as much memory it fills up cache quicker and it takes cycles to move across the memory bus.

All other things being equal (same compiler, code, etc) a 32 bit program on the G5 should be slightly faster than the 64 bit version unless it needs more than 4 gigs of memory or large integer math.

FYI - on some low end 64 bit sun boxes you can run them in 32 bit mode for speed and to use less memory.
 

zedwards

macrumors member
Jul 8, 2002
59
0
France
Originally posted by Powerbook G5
Well...I've heard nothing but good things about the 64-bit enhanced Stickies! :)
I heard that the Bomb.app is particularily unstable when updated to utilize 64 bits. It just crashes even faster!
:p
 

clonenode

macrumors regular
Feb 12, 2002
113
0
Originally posted by zoozx
X.2.7 ..........whooopeee.
Now tell me all of uz guys that bought a G5 early are not going to be penalized / shafted when Panther releases in a month and all G5 ship with it.
Tell me we get a "get out of jail free" upgrade coupon in the box for Panther.
Why are you getting penalized when you buy an Apple product with the most up-to-date OS at that time. Panther is another product... you know it is coming out soon, but the current OS works fine. You're only getting shafted in your mind. Why does Apple owe you an upgrade?
 

coumerelli

macrumors 6502
Apr 7, 2003
313
130
state of confusion.
Speed vs. Volume (thank you Edot)

Here's my uneducated guess on the subject...

Changing from a 32 bit to a 64 bit proc is like going from a 32 lane hwy to a 64 lane hwy BOTH of which are, say, 70 mph. Although the 64 lane hwy is not inherently faster, there will be less bottle necking and therefore less 'traffic' jams - I just don't know what more RAM translates into in this illustration. ;)

Am I anywhere near to being close?
 

CooCooCaChoo

macrumors newbie
Aug 12, 2003
16
0
Re: Speed vs. Volume (thank you Edot)

Originally posted by coumerelli
Here's my uneducated guess on the subject...

Changing from a 32 bit to a 64 bit proc is like going from a 32 lane hwy to a 64 lane hwy BOTH of which are, say, 70 mph. Although the 64 lane hwy is not inherently faster, there will be less bottle necking and therefore less 'traffic' jams - I just don't know what more RAM translates into in this illustration. ;)

Am I anywhere near to being close?

No, the issue is more like this:

Say I download a copy of FreeBSD, I then proceed to compile all the software from the ports collection, BUT instead of using just the default optimisations, I decide to add mcpu=i686 march=pentiumpro to my /etc/defaults/make.conf file. The net result in some cases is an improvement depending upon what code is being compiled. For an CODEC for example, it will now take full advantage of MMX/SSE features that are available..

Regarding the processor itself there are a number of improvements, for example, it now does MORE work per cycle than the G4 or the P4. The best way to describe is is Athlon XP vs P4. The P4 does 0.5 instructions per clock cycle which allows a higher frequency at the expense of lower efficiency. The net result? Intel have had to design a new mobile CPU which does more work per clock cycle so that power consumption and heat disappation decreases.

Also, there are other features, for example, the way the banch prediction portion of the chip does its work. If the code is recompiled again, with out changes, the code is then optimised, via the compiler, for the new features of the CPU.

As for the so-called "64bit optimisations", it will be like MMX, if the chip doesn't have it, that portion of the code won't be used.
 

NoNothing

macrumors 6502
Aug 9, 2003
453
511
64 bit optimizations can really help

----------
quote:

I can think of a few situations where 64-bit integer operations built in hardware will result in a performance boost. But, as others have pointed out, this is rarely the case.
----------

I can think of many more conditions where the 64 bit nature can benefit ANY application. ONE example (There a dozens more): Most applications consist of moving memory around from point A to point B. Many applications use a simply memcpy() to do this. And yes, if the routine is optimizes to move 8 bytes at a time and not a single byte, 2 bytes, of 4 bytes at a time, it will move faster. Almost twice as fast. Optimizing this one routine could speed EVERY application.

I think people are very short sighted (or have never programmed a computer) when they make blanket statements that the 64 bitness will not speed up apps even when they are optimized for it.
 

neilw

macrumors 6502
Aug 4, 2003
441
837
New Jersey
Heh, I was just going to post about memcpy(), ya beat me to it. It would seem like an obvious place to put some 64-bit code.

I wonder, though, if large moves would be more dominated by cache behaviour than the inner loop of the move itself. If the data are all in cache, then indeed a 64-bit memcpy() should be exactly twice as fast as the 32-bit version. How much effect this would have on typical programs I don't know.

Do either Smeagol or Panther allow true 64-bit code to be used by applications? I'm still not clear on that one...
 

wizard

macrumors 68040
May 29, 2003
3,854
571
There is a problem with the absoluteness of this statement. The fact that you have 64 bit registers does not mean that existing code will run faster that is certainly true.

On the other hand it is a mistake to believe that some operating system level modules can not be improved by the use of a processors 64 bit features. File systems are one thing that comes to mind along with anything else that uses large bit arrays. Search algorithms may also be improved by wider registers. The are other potential improvements also, but yes software has to be rewritten to take advantage of any possible 64 bit gain.

One should not be confused with the reality though that some code will never benefit and that some may even slow down if they are ported to a 64 bit environment. Your statemnt would have much more credibility if you simply modify it to indicate that 64 bits in many cases does on imply faster operation.

Dave


Originally posted by arn
No, you do not - that was the whole point of my first two posts. Please reread them.

64-bit does not equal faster.

arn
 

wizard

macrumors 68040
May 29, 2003
3,854
571
Its great to see that someone has this right. The same applies for you operating system.

Portions of MAC OS/X will benefit from the 970's 64 bit capabilities. I can't say precisely which parts of the OS will, but some operations will be enhanced by the use of the wider registers. I'm sure that Apple has already determined which parts of the system will benefit the most form 64 bit operations and has a progrma in place to move those modules to 64 bit.

Thanks
Dave


Originally posted by chetwilliams
Hmmm. I can only think of a ton of things that would be faster. Though day-to-day apps like Word or Mail won't be sped up, pro apps such as Final Cut Pro (faster at HD video w/ 64), Photoshop (faster w/ 64), Mathematica (faster w/ 64), and of course folding would be sped up. Just because most apps won't be helped with 64 does not mean all apps won't be helped with 64.
 

wizard

macrumors 68040
May 29, 2003
3,854
571
Originally posted by MacRETARD
1) Floating point operations are already bigger than 64 bits on the G4, surprise surprise! They are 80 Bits.

Hmm are you really sure about that on the Power PC
2) If you have a 64 bit pointer, its takes 64 bits of memory, if you have a 32 bit pointer it takes 32 bits. Also if you have a program that uses an integer with the default size it will be 32 bits in a 32 bit program and 64 bits in a 64 bit program. Sorry to seem like im being redundant but I have a point. The point is if you program doesnt need to use integer operations (not floating point), or access more memory than 4 gigs then a lot of the program will take up twice as much memory. If it takes twice as much memory it fills up cache quicker and it takes cycles to move across the memory bus.
Adding the capability to use 64 bit features of the porcessor does not automatically make it twice as large. This is a huge misstatement. Sure you have to the potential to fill the caches with larger data types, but the programmer has to be responsible enough ot select the right data types for the problem being solved. If done correctly the overall results will be capability increases in said program.
All other things being equal (same compiler, code, etc) a 32 bit program on the G5 should be slightly faster than the 64 bit version unless it needs more than 4 gigs of memory or large integer math.

FYI - on some low end 64 bit sun boxes you can run them in 32 bit mode for speed and to use less memory.

What is nice about the G5 system is that this is not required at all. Those programs that loose with trespect ot 64 bit implementation can stay 32 bits for a very long time. This is really a unsung capability of the 970 and its implementation with OS/X.

Dave
 

Catfish_Man

macrumors 68030
Sep 13, 2001
2,579
2
Portland, OR
Originally posted by andyduncan
Not a bad idea. No need for new content, however, just link it to ars.

Making the same argument over and over is decidedly un-Object-Oriented. Especially when it has been argued better by someone else (ie: ars has a great article debunking 64bitness). Make a pointer out of a link and *this.

idea++;

Heck, if you wanted to make it friendlier, you could just link directly to some of their articles as well (after getting permission, of course). I learned a good deal of what I know about CPUs from reading every ars article I could get my hands on.
 

yanges

macrumors newbie
Originally posted by zoozx
X.2.7 ..........whooopeee.
Now tell me all of uz guys that bought a G5 early are not going to be penalized / shafted when Panther releases in a month and all G5 ship with it.
Tell me we get a "get out of jail free" upgrade coupon in the box for Panther.

geez, we all knew that it would be coming with X.2.7, so what's the problem?

i myself decided to wait till Panther is the default OS and to check out benchmarks etc to decide.....:cool:

that said, i may have to order Right Now!!

:D :D
 

leo

macrumors member
Mar 5, 2003
30
0
Cologne
Re: 64 bit optimizations can really help

Originally posted by NoNothing


I can think of many more conditions where the 64 bit nature can benefit ANY application. ONE example (There a dozens more): Most applications consist of moving memory around from point A to point B. Many applications use a simply memcpy() to do this. And yes, if the routine is optimizes to move 8 bytes at a time and not a single byte, 2 bytes, of 4 bytes at a time, it will move faster. Almost twice as fast. Optimizing this one routine could speed EVERY application.

Sorry, memcpy() (and memmove() as well) are already Altivec-enhanced in Mac OS X, so even the G4 is moving memory in 128-bit chunks. (But even in non-Altivec versions, like on a G3, the limiting factor has always been the memory bandwidth, not the chunk size.) The G5 is very good at moving memory, but NOT because of its native word length of 64 bits, but because of its advanced memory interface.


I think people are very short sighted (or have never programmed a computer) when they make blanket statements that the 64 bitness will not speed up apps even when they are optimized for it.

Well, I am very sure that I know what I'm talking about.
 

AppleMatt

macrumors 68000
Mar 17, 2003
1,784
25
UK
Originally posted by zoozx

Tell me we get a "get out of jail free" upgrade coupon in the box for Panther.

If they're shipping now...we should know soon.

I would hope so simply to avoid the absolute riot that will explode if they don't. It'll be like 68k/PPC + MDD noise + iPod Software all rolled into one :(

AppleMatt
 

clarkcox3

macrumors newbie
Nov 13, 2002
7
0
Pittsburgh, PA
Do either Smeagol or Panther allow true 64-bit code to be used by applications? I'm still not clear on that one...

There is no such thing as "64-bit" code or "32-bit" code (in the case of the G5). For the most part, code for the G5 and code for the G4 are identical. They have largely the same instruction set. Using a term like "true 64-bit" code is misleading, and just shows ignorance.

The speed advantages of the G5 primarily come from things besides it's "64-bit-ness". Except for applications that need to do lots of large integer calculations, you are not likely to see much (if any) speedup by recompiling to use the additional instructions. You will likely see a speedup as applications are optimized for other attributes of the G5, just as you saw speedups on the G4 when applications were optimized for the G4.
 

eric_n_dfw

macrumors 68000
Jan 2, 2002
1,517
59
DFW, TX, USA
64 Bitness

A: Games, by and large, do NOT use floating point math - it's slow and there's no need for it. Fixed point (aka integer) math will always be faster and is what is used in most applications. 64 integers are overkill for games as you can represent 16+ million colors per pixel + alpha chanels in 32 bits.

B: I'd doubt that image and video manipulation software use floating point much either - BUT - they might be able to take advantage of 64 bit integers in the high end, pro print markets (Large format print and high end digital photography and processing). HD video, AFAIK, uses 24 bit color, just like SD so each pixel can be represented in 32 bit chunks. (correct me if I'm wrong)

C: As stated, G4 AltiVec already can process 128 bit chunks for vectorized applications.

D: The physical memory bus on the G4 is already 64 bits wide. (BTW, I believe I read that the G5 has 2 32 bit busses, one coming into and one going out of the cpu)

Lastly, here's a quote from an ArsTechnica article that says better what I (and I think arn) are trying to get accross:
Some applications, mostly in the realm of scientific computing (MATLAB, Mathematica, MAPLE, etc.) and simulations, require 64-bit integers because they work with numbers outside the dynamic range of 32-bit integers. When the result of a calculation exceeds the range of possible integer values, you get a situation called either overflow (i.e. the result was greater than the highest positive integer) or underflow (i.e. the result was less than the largest negative integer). When this happens, the number you get in the register isn't the right answer. There's a bit in the x86's processor status word (see this page for a bit more on the PSW) that allows you to check to see if an integer has just exceeded the processor's dynamic range, so you know that the result is bogus. Such situations are very, very rare in integer applications. As an engineering student I never ran into this problem, although I did run into the somewhat related problem of floating-point round-off error a few times.

Programmers who run into integer overflow or underflow problems on a 32-bit platform do have the option of using a 64-bit integer construct provided by a higher level language like C. In such cases, the compiler uses two registers per integer, one for each half of the integer, to do 64-bit calculations in 32-bit hardware. This has obvious performance drawbacks, making it less desirable than a true 64-bit integer implementation.

Finally, there is another application domain for which 64-bit integers can offer real benefits: cryptography. Most popular encryption schemes rely on the multiplication and factoring of very large integers, and the larger the integers the more secure the encryption. As we'll discuss in the final section, AMD is hoping that the growing demand for tighter security and more encryption in the mainstream business and consumer computing markets will make a cheap, 64-bit, x86-compatible processor attractive.

So, mainly scientists and cryptogrophers need 64 bit math. By the sound of these forums, we have a lot of those types here :)

In other news, 64 Bit addressing is a no brainer - if you need it, this will be a God-send.

The FSB speeds and optimizations for the G5's scheduling & pipelines will bring speed to the masses. 64 Bit's is just the icing on the cake!
 

brhmac

macrumors regular
Apr 21, 2003
175
0
Planet Earth
Re: Speed vs. volume

Here's my uneducated guess on the subject...

Changing from a 32 bit to a 64 bit proc is like going from a 32 lane hwy to a 64 lane hwy BOTH of which are, say, 70 mph. Although the 64 lane hwy is not inherently faster, there will be less bottle necking and therefore less 'traffic' jams - I just don't know what more RAM translates into in this illustration.

Am I anywhere near to being close?

Can someone respond to this metaphor with the same language? The person who responded earlier dropped the hwy metaphor in his response and gave a very technical reply that didn't make much sense to me.

Given the discussion, it seems like a number of folks are confused about the merits and capabilities of 64-bit processing. I know I am. :confused:
 

clarkcox3

macrumors newbie
Nov 13, 2002
7
0
Pittsburgh, PA
: Games, by and large, do NOT use floating point math - it's slow and there's no need for it. Fixed point (aka integer) math will always be faster and is what is used in most applications. 64 integers are overkill for games as you can represent 16+ million colors per pixel + alpha chanels in 32 bits.

I'm sorry, but that is just plain wrong. Fixed point math is actually slower on the PPC than floating point math.

check out http://www.macscene.org/ppcdc/triangles.php as an example (first hit I found on Google)
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.