Previous Page Parent Page Next Page TOC

Tools

Prof and Gprof

Prof and Gprof are GNU profilers which are freely available on many Unix platforms(Linux, IBM, Sun Solaris etc.). The code is linked or compiled with special -pg flags. The executable is then run, generating a file called gmon.out. Gprof is then run on the generated file, giving statistics about the run of the program.

OProfile

OProfile is a system-wide profiling tool for Linux using sampling. System-wide profiling is only permitted to the root user, as all actions on the system can be observed.

Valgrind

Valgrind is a system for debugging and profiling Linux programs. Valgrind's tool suite can automatically detect many memory management and threading bugs. It helps avoid hours of frustrating bug-hunting and thereby making programs more stable. It also enables detailed profiling of programs to help speed up the programs. There is no requirement for compiling or linking code with special flags.

Cachegrind

Cachegrind is a cache profiler.

Callgrind

Callgrind is an extension to Cachegrind. It provides all the information that Cachegrind does, plus extra information about call graphs.

Massif

Massif is a heap profiler. It performs detailed heap profiling by taking regular snapshots of a program's heap. It produces a graph showing heap usage over time, including information about which parts of the program are responsible for the most memory allocations.

Kcachegrind

KCachegrind is available separately as a visualization tool and gives a much better overview of the data that Callgrind collects. It can also be used to visualize Cachegrind's output.