Performance

Anyone wondering why it’s been so long between PodWorks releases might be interested to know that I’ve been working on a complete refactoring of PodKit, my iPod database parser, for several weeks now (yes, even during WWDC!). Part of this reason I’m doing this is to facilitate AppleScriptability by improving my object model. The real emphasis, though, is on raw performance.

The current version does a respectable job, but is somewhat bogged down by a truly horrific amount of dynamic memory allocation—the cost of doing everything with objects (PodKit positively hemmorages NSData instances!). I’ve been told that once the database size reaches 6,000 or so, the parser speed severely degrades. And that is just not acceptable!

Thus, performance has become a new obsession of mine, and I’ve been looking for any tricks I can use to optimize PodKit as much as possible. The WWDC session on the subject of Cocoa performance was, I believe, cancelled, but fortunately Apple’s own Eric Albert has been kind enough to post the slides from his MacHack presentation “Application Performance on Mac OS X.” The slides only provide a basic outline of the talk (which I’m sure was quite enlightening in its full form), but I think it provides a good list of the things one needs to be concerned with when trying to get an application to run really, really fast.

Thanks to Eric for lending a hand to speed freak app developers like myself!

Leave a Reply