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

Attachment: 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]

Reply via email to