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.
b.bum
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ Cocoa-dev mailing list ([email protected]) 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: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]
