Ausführliche Beschreibung | This is a set of profiling utilities, currently targeting only
Linux. It includes a simple command line profiling tool, with the
following characteristics:
* It is intended to be easy to install and use. No kernel modules
or changes are required for basic use. It can be used without root
access.
* It supports profiling of dynamically linked code and includes
information on time spent in dynamic libraries.
* It supports profiling of multithreaded applications.
* It generates profiles for all subprocesses started from a
shell. Thus it easily can be used to profile application with multiple
processes.
* It tries to generate symbolic output. This is usually successful
for the main program, if that has debug information, i.e. was compiled
with -g. If not, you may need a debugger to fully interpret the
results. However the raw output will often give you a rough idea of
where processor time is spent.
* It currently generates "flat" profiles. The output tells you
roughly how much time was spent in a given instruction, line, or
function f. By default this does not include time spent in functions
called by f, but on platforms supported by libunwind a possible
alternative is to include callees in profile counts, thus recovering
some gprof-like functionality.
* Linux kernel functions are not profiled separately. By default,
time spent in the kernel is credited to the library function which
made the kernel call.
* On Itanium, it can be used to generate hardware-event-based
profiles. For example, it can tell you where most of the cache misses
occur.
|