5 The @code{sb-sprof} module provides an alternate profiler which works by
6 taking samples of the program execution at regular intervals, instead of
7 instrumenting functions like @code{profile} does. You might find
8 @code{sb-sprof} more useful than @code{profile} when profiling functions
9 in the @code{common-lisp}-package, SBCL internals, or code where the
10 instrumenting overhead is excessive.
12 This module is known not to work consistently on the Alpha platform,
13 for technical reasons related to the implementation of a machine
14 language idiom for marking sections of code to be treated as atomic by
15 the garbage collector; However, it should work on other platforms,
16 and the deficiency on the Alpha will eventually be rectified.
18 @subsection Example Usage
22 (sb-sprof:start-profiling)
25 (dotimes (i (expt 2 26))
26 (setf *a* (logxor *a* (* i 5)
29 (sb-sprof:stop-profiling)
35 @include fun-sb-sprof-report.texinfo
37 @include fun-sb-sprof-reset.texinfo
39 @include fun-sb-sprof-start-profiling.texinfo
41 @include fun-sb-sprof-stop-profiling.texinfo
45 @include macro-sb-sprof-with-profiling.texinfo
49 @include var-sb-sprof-star-max-samples-star.texinfo
51 @include var-sb-sprof-star-sample-interval-star.texinfo
55 @code{sb-sprof} is an SBCL port of Gerd Moellmann's statistical profiler