views:

67

answers:

2

With OS X 10.5.7 coming out, there's been a lot of talk about apps that are 64-bit vs. apps that are 32-bit... manufacturers that will have to convert apps, manufacturers that will not be able to any soon due to a lack of resources (it's apparently a huge deal), etc. What the benefits of converting a certain app (like iTunes) would be, etc....

I'm wondering if, when you run in a VM (I mean like the .Net Framework or the JVM) and code only in "managed code" (in Java, no JNI, not sure what this would be in Ruby):

  1. do you get the benefits when your VM becomes 64-bit without ever having to know about this stuff yourself? OR
  2. do you not really get the benefits (nor the hassle of converting), since your apps are pretty inefficient compared to what's possible (though perhaps fast enough to do what you need)?
+1  A: 

The main reason I develop for 64bit is memory. Much more memory is addressable with 64 bit pointers, and for some problem domains, a theoretical 4GB limit at 32 bit (often less) is less than satisfactory.

For something like iTunes, the conversion is near pointless, as it is a low powered app with no need for large memory.

I'm not sure how 64bit OSX handles 32bit binaries, but in Windows, the emulation is near perfect, and for many apps, there's simply no need to upgrade.

spender
So the work you do with 64-bit pointers can't be done pointerlessly?
Yar
I don't use pointers because I use managed languages such as c# and Java. As such, from my POV the transition from 32 to 64 was almost completely pain-free. I think there's quite a strong case for using managed runtimes for all but the hefty crunching programs that need the extra grunt. It makes these sorts of large transitions considerably cheaper to manage.
spender
I'm going to mark this as best answer, but if you could incorporate your comment into your answer, it would be best 2x!
Yar
@spender: There may not be any reason to go to 64-bit even if a program requires large amounts of memory. A 32-bit program can allocate more than 4GB of memory on 64-bit (and 32-bit) Windows: http://blogs.msdn.com/oldnewthing/archive/2009/07/06/9818299.aspx
Grant Wagner
+1  A: 

I can't speak for the CLR (I would assume its similar), but a 64 bit JVM will give you all the memory benefits of 64 bit with no conversion whatsoever.

Brian Henk