Depends on the platform. If you use MSVC, some versions have a built-in profiler. AMD and Intel also have profilers (CodeAnalyst and VTune).
On Linux, the only thing I used was gprof, but I know there are others (and I think AMD or Intels may be available on Linux versions as well)
And, of course, the whole Valgrind package is also useful. Some tools, such as callgrind or cachegrind, can provide you with a lot of performance information.
source share