On 14 May '08, at 7:52 AM, Keith Duncan wrote:
Currently I'm loading the iTunes XML library using -[NSDictionary initWithContentsOfFile:] but for my iTunes library, even a reasonably small one, the file weighs in at just over 4 MB.
I ran into the same issue. The bottleneck isn't the file I/O, it's the tens of thousands of objects (strings, dictionaries, arrays) created by parsing the property list.
I was able to speed this up by an order of magnitude, by using libxml2 to parse the file (using the SAX API) into my own custom data structures.
I am nearly always cheerfully willing to give out source code, but in this case I kind of see this as a competitive advantage for a product I might release in the future, so I'm going to keep the code to myself. It isn't brain surgery, or even rocket science, but it took some work; libxml2 is a lot lower-level than the plist API. (I didn't try using NSXMLParser, which is an Obj-C wrapper around libxml2; that might get you comparable performance with less pain.)
—Jens
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) 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]