> > On 19 Jun 2014, at 3:30 pm, Trygve Inda <[email protected]> wrote: > >> Should I be doing: >> >> self.myProperty = [coder decodeObjectForKey:kMyProperty]; >> >> (isn't that effectively the same as a getter/setter)? > > Yep, it's the same, so you will gain nothing there. > > >> Guessing it would be better as: >> >> myProperty = [[coder decodeObjectForKey:kMyProperty] retain]; > > > Yes, this is what I meant. If you have declared your own ivars, it's far > faster to set them directly. > >> >> 100x - 600x is a big hit. > > It only starts to become noticeable when you are dearchiving a big graph > though, so don't sweat it for one object. If you are relying on synthesizing > the actual ivar, not just the setters/getters, you have little choice, though > apparently you can rely on the ivar being the name of the property with a > leading underscore. I dislike that sort of hidden magic however. > > I saw one file come down from taking 11 minutes (!) to 1.5 seconds to open > with just this change. > > > --Graham > > >
I declare all my ivars but this case is small so I can't imagine an improvement. I have one other place where it might help though. That one takes about 2-3 seconds to open/read a file. _______________________________________________ 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: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to [email protected]
