Tuesday 18 October 2011

Why is my application slow?

I've used plenty of CPU / GPU profiling solutions on various platforms before, so when it finally became time to profile a win32 app I had written I looked around for a decent method.
This turned out to be surprisingly hard! Nothing decent was built into Visual Studio professional. I don't have the Team edition, so I cannot comment there, although why such a fundamental thing as a profiler is not present by default is a mystery.
Sure, I could go old skool and fill my code with clock checking around suspect functions, but surely there's a faster way.

VTune - this I just did not get on with. Pricey too. Had to system restore in the end to get my system back up.

AMD CodeAnalyst - promising, but not there yet.

Windows performance analysis tools (Xperf) - I'm happy in a command line environment, but this just got too fiddly.

Very Sleepy - Within one minute of download I had all the bottlenecks in my application in front of me.. even with call stacks. HURRAH!!

...so a mega thumbs up to http://www.codersnotes.com/sleepy
Free too!

and another.. also shows source line. A bit more techy, but still free!
http://lukestackwalker.sourceforge.net/