The goal of profiling is to find out the bottlenecks of the program, such as which function consumes most time, which function is called most times etc in order to improve application performance by "fixing" those hot spots.

Metering has been adapted for the current times by Daniel KochmaƄski. It's portable and very capable. Project home and repository

Works on all active implementation.

SBCL has two: `sb-ext:profile' which instruments functions, and the statistical sampling sb-sprof contrib (based on CMUCL work).

(sb-profile:profile function names) (function call) (sb-profile:report)


(sb-sprof:with-profiling (:report :graph) (function call))

sb-sprof-ui is an interface to this.