When code is being profiled, the Lisp process running that code is interrupted regularly at a specified time interval. At each interruption, the Profiler scans the execution stack and records the name of every function found, including a note of the function at the top of the stack. Moreover, a snapshot of the stack is recorded at each interruption, so we know not merely how many times we reach a function call, but also how we reached that call.
When profiling stops (that is, when the code being profiled has stopped execution) the Profiler presents the data in two tabs.
Note: The Profiler tool only shows the thread running code in the Code To Profile box. It does not profile other threads. To profile multiple threads in the Listener, see "Running the profiler" in the LispWorks User Guide and Reference Manual .