ToC DocOverview CGDoc RelNotes FAQ Index PermutedIndex
Allegro CL version 11.0

profiler variables


*fractional-significance-threshold*

variable, profiler package

The value of this variable should be a number between 0.0 and 1.0. It is used as a significance threshold by the runtime analyzer display functions, show-call-graph and show-flat-profile. These functions will suppress reporting of each function whose contribution compared to its immediate caller is less than this value (and, presumably, considered insignificant). The values compared for both the function and its immediate caller is the recursive sum of the contribution by the function and all of its callees. The initial value of this variable is 0.02.

The function show-all causes this variable to be set to 0.0.

This variable only affects display of runtime analyzer data, not the collection of data. If you want to see more or less, redisplay after resetting this and other runtime analyzer display variables as desired.

The value of this variable and the other runtime analyzer display variables, *hidden-packages*, *hidden-functions*, *hidden-space-functions*, and *significance-threshold*, can be reset to their initial values by reset-profiler-display-defaults.

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


*granularity*

variable, profiler package

The value of this variable should be a positive fixnum specifying the number of machine clock ticks (defined below) between each sample of the stack taken during data collection by the runtime analyzer. The initial value is 1, indicating one clock tick between each sample. The larger this value is, the more clock ticks between samples and the smaller the frequency of sampling.

The units of this variable are computer clock ticks and the value specifies the number of ticks between samples. A clock tick is an internal, machine dependent span of time. A tick is typically between 1/50 and 1/100 of a second. Some tens of thousands of instructions are executed by the machine in that time.

This variable is ignored by the space runtime analyzer.

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


*hidden-functions*

variable, profiler package

List of the names of functions that are not displayed in runtime analyzer output or t. The default list is quite long. You can modify this list at any time to control the display detail. Setting the list to nil means all functions not considered as associated with a package listed in *hidden-packages* will be used for display. Setting the value of this variable to t causes the initial, default list of functions to be hidden. The function show-all causes this variable to be set to nil.

Because the default list may change faster than the documentation is updated, we do not give it here. To find the default, look at the value of the variable in a fresh Lisp.

You can add a single function (in this example, named by the symbol foo) to the list with the following form:

(push 'foo *hidden-functions*)

You can remove a single function with the form:

(setq prof:*hidden-functions* (delete 'foo *hidden-functions*))

This variable only affects display of runtime analyzer data, not the collection of data. If you want to see more or less, redisplay after resetting this and other runtime analyzer display variables as desired.

The value of this variable and the other runtime analyzer display variables, *hidden-packages*, *hidden-space-functions*, *significance-threshold*, and *fractional-significance-threshold*, can be reset to their initial values by reset-profiler-display-defaults.

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


*hidden-packages*

variable, profiler package

The value of this variable is a list of packages or t. Any function object considered to be associated with a package in the list will be hidden from the display. You can modify this list at any time to control the display detail. Setting the list to nil means functions from all packages will be displayed (but see *hidden-functions* and *hidden-space-functions*). Setting the value of this variable to t causes the initial, default list of packages to be hidden. The function show-all causes this variable to be set to nil.

Because the default list may change faster than the documentation is updated, we do not give it here. To find the default, look at the value of the variable in a fresh Lisp.

You can add a single package (in this example, the foo package) to the list with the following form:

(push (find-package :foo) *hidden-packages*)

You can remove a single package with the form:

(setq prof:*hidden-packages* (delete (find-package :foo)
  *hidden-packages*))

This variable only affects display of runtime analyzer data, not the collection of data. If you want to see more or less, redisplay after resetting this and other runtime analyzer display variables as desired.

The value of this variable and the other runtime analyzer display variables, *hidden-functions*, *hidden-space-functions*, *significance-threshold*, and *fractional-significance-threshold*, can be reset to their initial values by reset-profiler-display-defaults.

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


*hidden-space-functions*

variable, profiler package

This variable lists space-associated functions which, when hidden, make the flat space profile output easier to interpret. The value may also be t. You can modify this list at any time to control the display detail. Setting the list to nil means all functions not considered as associated with a package listed in *hidden-packages* will be used for display. Setting the value of this variable to t causes the initial, default list of space functions to be hidden. The function show-all causes this variable to be set to nil.

Because the default list may change faster than the documentation is updated, we do not give it here. To find the default, look at the value of the variable in a fresh Lisp.

You can add a single function (in this example, named by the symbol foo) to the list with the following form:

(push 'foo *hidden-space-functions*)

You can remove a single function with the form:

(setq prof:*hidden-space-functions* (delete 'foo *hidden-space-functions*))

This variable only affects display of runtime analyzer data, not the collection of data. If you want to see more or less, redisplay after resetting this and other runtime analyzer display variables as desired.

The value of this variable and the other profiler runtime analyzer variables, *hidden-functions*, *hidden-packages*, *significance-threshold*, and *fractional-significance-threshold*, can be reset to their initial values by reset-profiler-display-defaults.

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


*maxsamples*

variable, profiler package

The runtime analyzer collects samples (how often depends on the value of *granularity*) and stores them in a file. This variable, whose value must be a positive integer, specifies the maximum number of samples to be collected. Its initial value is most-positive-fixnum (which, note, is larger in 64-bit Lisp than in 32-bit Lisps). Fewer samples may be collected if data collection is stopped before the maximum is reached. For time profiles, values less than 1000 are unlikely to produce any meaningful data, but for space profiles, statistically valid information can result from fewer samples since every request for memory is analyzed.

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


*outline-max-indentation*

variable, profiler package

A global variable controlling the maximum number of columns to indent the outline output printed by show-outline-profile. Its initial value is 50.

The value of this variable is not modified by either show-all or reset-profiler-display-defaults.

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


*significance-threshold*

variable, profiler package

The value of this variable should be a number between 0.0 and 1.0. It is used as a significance threshold by the runtime analyzer display functions, show-call-graph and show-flat-profile. Functions which contribute less than the significance threshold are not displayed. This allows the runtime analyzer display functions to suppress reporting of functions whose total contribution is considered insignificant in the total profile data sample. Comparison is made between the value of this variable and the ratio of the sum of the function and all of its callees, recursively and the total data recorded in the whole profile sample. The initial value of this variable is 0.01.

The function show-all causes this variable to be set to 0.0.

This variable only affects display of runtime analyzer data, not the collection of data. If you want to see more or less, redisplay after resetting this and other runtime analyzer display variables as desired.

The value of this variable and the other runtime analyzer display variables, *hidden-packages*, *hidden-functions*, *hidden-space-functions*, and *fractional-significance-threshold*, can be reset to their initial values by reset-profiler-display-defaults.

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


Copyright (c) 2023, Franz Inc. Lafayette, CA., USA. All rights reserved.

ToC DocOverview CGDoc RelNotes FAQ Index PermutedIndex
Allegro CL version 11.0