• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Performance problem with GC enabled
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Performance problem with GC enabled


  • Subject: Re: Performance problem with GC enabled
  • From: Wade Tregaskis <email@hidden>
  • Date: Sat, 14 Mar 2009 13:30:25 -0700

Ah, right, sorry. I'm not saying the existing API would permit such a
change, more's the pity. All I'm saying (and I doubt that saying this has
any value) is that it could, and in my opinion should, have been done that
way in the first place.

It's very tempting to try to enforce this in a CF-based API. It also turns out to be really annoying to use the subsequent API. If you look at CoreFoundation itself, you'll find a lot of void returns (what, errors? impossible!) and non-retaining getters... these make it really simple to use and impossible to use safely, and impossible to improve the implementation there-of. You really appreciate this the first time you re-implement a function conscious of the fact that it now deliberately leaks every time it's called (don't ask, the memory still makes me cry).


Having written libraries/frameworks at both the C, CF and Cocoa levels, if you told me you were writing one in anything less than Objective-C, I would slap you in the face, shake you by the shoulders and scream "Why? Oh god why?". And you'd better have a damn good reason (there are some, but they're thankfully rarely applied), else I'll revoke your programming privileges for eighteen months. :P

And though personally I dislike GC, if you said you weren't supporting it, I'd be upset much the same. It should be pretty obvious to everyone that GC is ultimately the way forward, and that it's only going to get better as time goes on. Reference-counting is virtually static. It will not magically improve in any significant way. If you think GC can never outperform it, even in theory, I'd politely suggest you haven't considered the matter very well.

So while it's not a panacea today, complaining about it on lists is not productive (as opposed to seeking workarounds in a constructive manner, which is entirely appropriate). Please file bugs, as Bill has reiterated over and over. How many software companies do you personally get begged by to optimise your specific use?

Wade
_______________________________________________

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


References: 
 >Performance problem with GC enabled (From: John Engelhart <email@hidden>)
 >Re: Performance problem with GC enabled (From: "Paul Sanders" <email@hidden>)
 >Re: Performance problem with GC enabled (From: Bill Bumgarner <email@hidden>)
 >Re: Performance problem with GC enabled (From: "Paul Sanders" <email@hidden>)
 >Re: Performance problem with GC enabled (From: Louis Gerbarg <email@hidden>)
 >Re: Performance problem with GC enabled (From: "Paul Sanders" <email@hidden>)
 >Re: Performance problem with GC enabled (From: Kyle Sluder <email@hidden>)
 >Re: Performance problem with GC enabled (From: "Paul Sanders" <email@hidden>)
 >Re: Performance problem with GC enabled (From: Michael Ash <email@hidden>)
 >Re: Performance problem with GC enabled (From: "Paul Sanders" <email@hidden>)
 >Re: Performance problem with GC enabled (From: Michael Ash <email@hidden>)
 >Re: Performance problem with GC enabled (From: "Paul Sanders" <email@hidden>)

  • Prev by Date: Re: EXC_BAD_ACCESS on NSImageView::setImage
  • Next by Date: Re: How to create an NSDecimal?
  • Previous by thread: Re: Performance problem with GC enabled
  • Next by thread: Re: Performance problem with GC enabled
  • Index(es):
    • Date
    • Thread