Re: 64-bit apps [was Re: NSUInteger question]
Re: 64-bit apps [was Re: NSUInteger question]
- Subject: Re: 64-bit apps [was Re: NSUInteger question]
- From: Nick Zitzmann <email@hidden>
- Date: Wed, 9 Apr 2008 15:17:18 -0600
On Apr 9, 2008, at 2:51 PM, Ken Victor wrote:
can anyone speculate as to whether or not the (near) future world is
64 bit apps only (ie, 32 bit apps will no longer work -- similar to
the way classic apps no longer work.)?
It'll be a while. Right now it's a bad idea, since a lot of people are
still using Power Mac G4s and 2006-era Intel Macs. Also, there are
applications that benefit from 64-bit addressing, but they're kind of
rare right now. Heck, on that other operating system, many people are
still using Win16 apps...
currently, i believe there are small performance penalties for 64-
bit apps as we still are in a primarily 32 bit world. i imagine this
will shift over the next few years, but will 32 bit apps no longer
work?
The performance penalties are on PPC64 only. X86-64 doesn't have
performance penalties, in fact, X86-64 apps will run faster because
function arguments no longer have to be 4-byte aligned on the stack.
They aren't even stored on the stack anymore, unless they're very
large data structures.
thanx for any thoughts/guidance (as to whether or not it is worth
the effort to become a 64 bit app),
As I see it, you probably should build for 64-bit if you can, since 64-
bit apps are faster (on Intel Macs only) and are far more scalable.
The only drawbacks are:
1. Because some of the types are twice as twice as large on 64-bit,
such as long, size_t, NSInteger, CGFloat, all pointers, etc., all 64-
bit apps will use somewhat more RAM than 32-bit apps.
2. Since there aren't a whole lot of 64-bit apps out there, when some
users see them using more memory, they tend to think something's wrong
with the app. This is especially true if GC is also turned on, as it
is in 64-bit Xcode, and the VM requirement swells to 30+ GB. I don't
remember why turning GC on does this.
3. The 32-bit frameworks are more than a decade old, and although they
have some bugs, they are very stable from all the years of
development. The same cannot be said of the 64-bit environment, which
are still new & have had some interesting bugs. Most of them have been
fixed in point releases.
4. Although a lot of legacy stuff got taken out of the frameworks,
some older things that are still useful, such as the QuickTime
Sequence Grabber, are either not available on 64-bit, or their
replacements are not as good.
If you'd like, you can build for 64-bit now but by default make the
app run as 32-bit. This is done with the LSArchitecturePriority key in
Info.plist files.
Nick Zitzmann
<http://www.chronosnet.com/>
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden