Re: Cocoa application running very slow under 64 bit
Re: Cocoa application running very slow under 64 bit
- Subject: Re: Cocoa application running very slow under 64 bit
- From: Frank Illenberger <email@hidden>
- Date: Thu, 11 Sep 2008 18:52:07 +0200
Am 11.09.2008 um 18:15 schrieb Bill Bumgarner:
On Sep 11, 2008, at 8:47 AM, Frank Illenberger wrote:
As I understand it, try/catch blocks should be very fast (zero
cost) in the 64 bit evironment. As I can't observe the generation
of any exceptions, there has to be some other reason for the slow
performance. I can't find any documentation about
objc_addExceptionHandler, so I don't know if it is only called when
there are exceptions. Telling from the Shark trace, I guess the
time is spent generating backtraces. But for what purpose?
A little more information.
C++ exceptions and, under the modern ABI, Objective-C exceptions are
extremely cheap to set up (@try), but expensive to @throw and @catch.
When the @throw happens, there is a heavy cost to generating the
bits necessary to properly unwind the stack.
Unfortunately, the AppKit has an issue where it causes the unwind
info to be generated as a normal part of its operation (without
throwing an exception).
Thus, certain AppKit operations in 64 bit can be quite slow at this
time.
Thanks for this important information. Is there any hope that this
issue will be fixed for Leopard or should we hold back our 64 bit
versions until Snow Leopard?
Cheers
Frank
_______________________________________________
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