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 by Mark Kantrowitz .
  • SLIME provides an interface to the profilers of supported Lisps with its slime-profile-* functions.

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))