0.9.2.17:
[sbcl.git] / contrib / sb-sprof / sb-sprof.texinfo
index 907017b..b487b79 100644 (file)
@@ -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.