X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=contrib%2Fsb-sprof%2Fsb-sprof.texinfo;h=b487b7963802a725155056e58d6813ce7df81ccf;hb=96060ccf8bb2077575d4180e30250d38e96ebb95;hp=907017bf3448ac8879456a3497525dd4a7d2f0e1;hpb=554397512eea9d6e30067c5edc2def42006a5327;p=sbcl.git diff --git a/contrib/sb-sprof/sb-sprof.texinfo b/contrib/sb-sprof/sb-sprof.texinfo index 907017b..b487b79 100644 --- a/contrib/sb-sprof/sb-sprof.texinfo +++ b/contrib/sb-sprof/sb-sprof.texinfo @@ -1,14 +1,21 @@ -@node sb-sprof -@section sb-sprof -@cindex Profiler - -The @code{sb-sprof} module provides an alternate profiler which works by -taking samples of the program execution at regular intervals, instead of -instrumenting functions like @code{profile} does. You might find -@code{sb-sprof} more useful than @code{profile} when profiling functions -in the @code{common-lisp}-package, SBCL internals, or code where the -instrumenting overhead is excessive. On the other hand it only works on -x86, and isn't completely reliable even there. +@cindex Profiling, statistical + +The @code{sb-sprof} module, loadable by +@lisp +(require :sb-sprof) +@end lisp +provides an alternate profiler which works by taking samples of the +program execution at regular intervals, instead of instrumenting +functions like @code{sb-profile:profile} does. You might find +@code{sb-sprof} more useful than accurate profiler when profiling +functions in the @code{common-lisp}-package, SBCL internals, or code +where the instrumenting overhead is excessive. + +This module is known not to work consistently on the Alpha platform, +for technical reasons related to the implementation of a machine +language idiom for marking sections of code to be treated as atomic by +the garbage collector; However, it should work on other platforms, +and the deficiency on the Alpha will eventually be rectified. @subsection Example Usage @@ -25,6 +32,11 @@ x86, and isn't completely reliable even there. (sb-sprof:report) @end lisp +The profiler hooks into the disassembler such that instructions which +have been sampled are annotated with their relative frequency of +sampling. This information is not stored across different sampling +runs. @c FIXME: maybe it should be? + @subsection Functions @include fun-sb-sprof-report.texinfo @@ -47,5 +59,5 @@ x86, and isn't completely reliable even there. @subsection Credits -@code{sb-sprof} is an SBCL port of Gerd Moellmann's statistical profiler -for CMUCL. +@code{sb-sprof} is an SBCL port, with enhancements, of Gerd +Moellmann's statistical profiler for CMUCL.