I have heard good things about gprof, but never used it.
Valgrind has a pretty good code analysis tool suite. Also, there is program that KDE makes called KCachegrind that is GUI front end for the Valgrind tool suite. I liked it a lot. I was able to pinpoint where the program was spending the most time in my code.
I think profiler's are great! It's funny how many kids in college would spend hours trying to make a section of code that took up a small part of the runtime more efficient. Meanwhile, KCachegrind allowed me to see which parts dominated actual run-time and then work on that part of the code (often inside a loop).