MacroPackage: profToCDocOverviewCGDocRelNotesFAQIndexPermutedIndex
Allegro CL version 10.1
Minimal update since the initial 10.1 release.
10.0 version


Arguments: (&key type except-processes count count-list verbose start-sampling-p interpret-closures) &body body

This macro collects runtime analyzer data for the execution of body by starting data collection, executing body, and then stopping data collection. This call to this macro:

(with-profiling (:type :time [other args]) body)

is equivalent to the following code sequence with the exception that the macro returns the result of the body.

(start-profiler :type :time [other args specified to with-profiling])

The type keyword argument specifies the type or profile to conduct (time, space, call-counting). The values can be :time, :real-time, :space, or :count-only. Call counts are done (perhaps in addition to time or space) if either count or count-list are non-nil. See start-profiler for a complete description of the choices and for proper values for count and count-list if you wish to have calls counted.

The keyword arguments (except-processes, count, count-list, verbose, start-sampling-p, and interpret-closures) are the same as the equivalent arguments to start-profiler and are described on that page. See also stop-profiler.

The body argument must be a form or sequence of forms. The system will collect data until the last form in body has been evaluated. Then data collection will stop.

This macro returns the value returned by the body.

If there is an unsaved, unanalyzed profile, you are asked by with-profiling if you want to save or discard that profile before proceeding with the new profile. You can cancel (delete) the current profile with cancel-current-profile, save it with save-named-profile, or analyze it with show-flat-profile or show-call-graph. Once any of these actions are taken, with-profiling will start without interruption.

See runtime-analyzer.htm for general information on the runtime analyzer.

Copyright (c) 1998-2022, Franz Inc. Lafayette, CA., USA. All rights reserved.
This page was not revised from the 10.0 page.
Created 2019.8.20.

Allegro CL version 10.1
Minimal update since the initial 10.1 release.
10.0 version