[Variable]
profile:* timed-functions*
This variable holds a list of all functions that are currently being profiled.
[Macro]
profile: profile name | :callers t
This macro wraps profiling code around the named functions. As in trace, the names are not evaluated. If a function is already profiled, then the function is unprofiled and reprofiled (useful to notice function redefinition.) A warning is printed for each name that is not a defined function.
If :callers t is specified, then each function that calls this function is recorded along with the number of calls made.
[Macro]
profile: unprofile name
This macro removes profiling code from the named functions. If no names are supplied, all currently profiled functions are unprofiled.
[Macro]
profile: profile-all &key :package :callers-p
This macro in effect calls profile:profile for each function in the specified package which defaults to *package*. :callers-p has the same meaning as in profile:profile.
[Macro]
profile: report-time name
This macro prints a report for each named function of the following information:
[Macro]
reset-time name
This macro resets the profiling counters associated with the named functions. If no names are supplied, then all currently profiled functions are reset.