PROF(1) PROF(1)
NAME
prof, kprof - display profiling data
SYNOPSIS
prof [ -dr ] [ program ] [ profile ]
kprof kernel kpdata
DESCRIPTION
Prof interprets files produced automatically by programs
loaded using the -p option of 2l(1) or other loader. The
symbol table in the named program file (`v.out' by default)
is read and correlated with the profile file (`prof.out' by
default). For each symbol, the percentage of time (in sec-
onds) spent executing between that symbol and the next is
printed (in decreasing order), together with the time spent
there and the number of times that routine was called.
Under option -d, prof prints the dynamic call graph of the
target program, annotating the calls with the time spent in
each routine and those it calls, recursively. The output is
indented two spaces for each call, and is formatted as
symbol:time/ncall
where symbol is the entry point of the call, time is in mil-
liseconds, and ncall is the number of times that entry point
was called at that point in the call graph. If ncall is
one, the /ncall is elided. Normally recursive calls are
compressed to keep the output brief; option -r prints the
full call graph.
The size of the buffer in program used to hold the profiling
data, by default 2000 entries, may be controlled by setting
the environment variable profsize before running program. If
the buffer fills, subsequent function calls may not be
recorded.
Kprof is similar to prof, but presents the data accumulated
by the kernel profiling device, kprof(3). The symbol table
file, that of the operating system kernel, and the data
file, typically /dev/kpdata, must be provided. Kprof has no
options and cannot present dynamic data.
SOURCE
/sys/src/cmd/prof.c
/sys/src/cmd/kprof.c
SEE ALSO
2l(1), kprof(3)
Page 1 Plan 9 (printed 10/29/25)