's amazing profiler
. Using hardware support
on the MIPS R10000 CPU
s and some pretty nifty software
, SpeedShop profiles your code. No big deal, right? I mean, you could just compile
your code with -p
, run it, and then use
to analyse the sampled output.
Except that SpeedShop runs your normally compiled code. So you don't need to recompile. Which is still not all that amazing.
Except that SpeedShop also lets you profile your optimised code, and still manages to print per-line timings for your code. With no slowdown -- your profiling run runs at essentially the same speed as a normal run! Anybody's who's run a heavy program through profiling knows just how excruciatingly slow a program can get when instrumented for profiling.
And it can do more than just measure execution time empirically. It can count basic blocks and determine profiling information from those (although this slows down your run); it can count cache hits (in both caches); it can count page faults and floating point faults and whatnot. In short, it is THE profiler of choice for your programs.
But you need an SGI box to run it on.