Before a profiling session can start several parameters must be set, using the function
set-up-profiler. There are four main areas to consider: the symbols to be profiled, the time interval between samples, the kind of profiling required, and the format of the output.
The time the Lisp process is actually executing plus the time that the system is executing on behalf of the process. This is called profile time .
Just the time that the process is actually executing. This is called virtual time .
The actual elapsed time, called real time .
:tree
), or just the columnar report (
style
:list
). You can restrict the data shown in several ways, helping you to focus on the slowest parts of your program.Below is an example of setting up the profiler:
(set-up-profiler :symbols '(car cdr) :style :list)
Here the functions
car
and
cdr
are going to be profiled and the output will be just the columnar report.
The function set-up-profiler adds symbols to the
*profile-symbol-list*. The functions
add-symbol-profiler and
remove-symbol-profiler can also be used to change the symbols profiled.
The function
set-profiler-threshold can be used with
reset-profiler to control the effects of repeated profiler runs.