« Projects update | Main | Finals »

March 10, 2005

Apple Performance Seminar

I participated in an online Apple seminar this morning on the topic of maximizing the performance of OS X applications. I took lots of notes, it was very informative. I had a good handle on the concepts of performance measurement and analysis, but it was great to watch one of Apple's performance architects discuss Apple's performance tools and what situations they are useful for. There was also a lot of good info on optimizing performance for the G5. Two points that really stuck with me were reducing automatic type conversions, and walking data structures in contiguous fashion (i.e. if you're walking a 2d array, make sure to access the elements in contiguous memory order so you get better locality). Because the G5's pipeline is so speculative, you can take heavier speed hits for silly code versus the same code running on a G4.

Another interesting tidbit was that Saturn is a traditional gprof-like profiler. I had looked at it before and was trying to figure out the difference between it and Shark, and there you go. Shark does samples of the app, so it's not as intrusive.

There was also an overview of Accelerate.framework's features. I've got some experience with the vDSP piece of Accelerate, since I'm using it to do FFT work with audio, but it was interesting to hear about the other pieces. I wonder how useful vImage will be with Tiger now that we've got CoreImage.

The session ended with about 20 minutes of Q&A, so it was interesting to hear what sort of questions my fellow developers had. I asked a question about measuring Altivec utilization, but they ran out of time and didn't answer it. This has been something I've been thinking about for a while, I'd love to get MenuMeters to break out cpu usage statistics and show me utilization for the "normal" cpu and show usage statistics for the Altivec separately. I'm always wondering how much headroom my Altivec units have, but there doesn't seem to be an easy way to find that out. I learned about Amber, an instruction tracer that OS X provides, but that seems to only give me post facto statistics.

Overall, it was a good presentation, and only took 90 minutes from start to finish.

Posted by djb at March 10, 2005 02:26 PM

Comments

Post a comment




Remember Me?

(you may use HTML tags for style)