actually running the code you want to examine).
The profiler report buffer shows, on each line, a function that was
- called, preceded by how much resources (cpu or memory) it used in
-called, followed by how much CPU resources it used in
++called, preceded by how much CPU resources it used in
absolute and percentage terms since profiling started. If a given
-line has a @samp{+} symbol at the left-hand side, you can expand that
-line by typing @kbd{@key{RET}}, in order to see the function(s) called
-by the higher-level function. Use a prefix argument (@kbd{C-u
-@key{RET}}) to see the whole call tree below a function. Pressing
-@kbd{@key{RET}} again will collapse back to the original state.
+line has a @samp{+} symbol to the left of the function name, you can
+expand that line by typing @kbd{@key{RET}}, in order to see the
+function(s) called by the higher-level function. Use a prefix
+argument (@kbd{C-u @key{RET}}) to see the whole call tree below a
+function. Pressing @kbd{@key{RET}} again will collapse back to the
+original state.
Press @kbd{j} or @kbd{mouse-2} to jump to the definition of a function
at point. Press @kbd{d} to view a function's documentation. You can
(defun profiler-start (mode)
"Start/restart profilers.
MODE can be one of `cpu', `mem', or `cpu+mem'.
- If MODE is `cpu' or `cpu+mem', time-based profiler will be started.
- Also, if MODE is `mem' or `cpu+mem', then memory profiler will be started."
+ If MODE is `cpu' or `cpu+mem', start the time-based profiler,
+ whereby CPU is sampled periodically using the SIGPROF signal.
+ If MODE is `mem' or `cpu+mem', start profiler that samples CPU
+ whenever memory-allocation functions are called -- this is useful
+ if SIGPROF is not supported, or is unreliable, or is not sampling
+ at a high enough frequency."
(interactive
(list (if (not (fboundp 'profiler-cpu-start)) 'mem
- (intern (completing-read "Mode (default cpu): "
+ (intern (completing-read (format-prompt "Mode" "cpu")
'("cpu" "mem" "cpu+mem")
nil t nil nil "cpu")))))
(cl-ecase mode