Core Data post follow-up notes
(This is a follow-up to the previous post.)
I like Wolf’s NSManagedObjectOperation idea.
I’m checking out Aaron Hillegass’s BNRPersistence. I ran across Tokyo Cabinet a couple months ago when building mutt, and it sounded pretty cool, though I didn’t try it any projects.
Justin asked me if it was worth doing this optimization for the extreme case — 10,000 unread items on a first-generation iPod Touch. It’s not always worth optimizing for extreme cases, not at the expense of other things. But there are several reasons why it was right this time:
-
High unread-items-count isn’t the only cause of performance degradation.
-
Lots of people still have original iPhones and iPods Touch.
-
The performance difference is significant even in a more typical case, say 1,000 unread on an iPhone 3GS.
-
The performance difference allows me to do other things that people are asking for.
Update 5:45 pm: I just looked, and the Tokyo Cabinet license is LGPL. Even with the leading L that means I can’t use it, because I don’t want to be a legal test case. (If it came pre-installed on Macs and iPhones, I would feel okay about using it.)