The examples below demonstrate different ways in which the profiler can be configured and code profiled so as to produce different sets of results. In each example, the following piece of code is profiled:
(contain (setq title (make-instance 'title-pane
:text "Title")))
This is a simple piece of code which creates and displays a CAPI title pane; each time you run the code a small window is created on-screen, which you can ignore or remove as soon as it is created.
Figure 19.4 Profiler Preferences dialog
CAPI
and click This profiles the functions in the COMMON-LISP
, CL-USER
and LISPWORKS
packages.
Next, add the CAPI
package to the list of packages whose functions are profiled.
CAPI
in the Unselected Packages list, and click on OK .Notice that this time there are many more functions which appear on the stack during profiling.
Notice that most of the functions appearing on the stack are in the CAPI
package. It is worth profiling a few functions explicitly, and removing unwanted packages from the list of packages to profile.
funcall unwind-protect make-instance eval
Type the name of each function and press Return to add it to the list.
Now remove the unwanted packages from the list of packages to profile, as follows:
Selected Packages
list: COMMON-LISP COMMON-LISP-USER LISPWORKS
Notice that the four functions in the COMMON-LISP
package are still being profiled, even though you are no longer profiling all functions from that package by default.