This weekend I was looking at optimizing a program I’m working on and tracked down high CPU using to NSProgressIndicator which shows progress, obviously. The CPU usage has to do with animating it. After hours tracking it down, it turns out I was calling [NSUserDefaults resetStandardUserDefaults] at the beginning of my app. I have no idea what one has to do with another, but I wasn’t 100% convinced of this until this morning when I reproduced the issue with a bare bones test application. I submitted a bug to Apple; this really explains some slow downs with OS X. Amazing that the pretty pulsating progress indicator can slow down a machine so much. Uggh.
Wow. That makes me wonder if I can turn off some of the OS X eye candy?