SLSH Library Reference (version 2.3.0): Profiling Functions

Next Previous Contents

## 10. Profiling Functions

These functions are used by slprof for profiling slsh applications.

## 10.1 profile_on

Synopsis

  Enable code generation to support profiling hooks

Usage

  `profile_on ( [line_by_line] )`

Description

  This function will turn cause the interpreter to generate code to call hooks that are used to profile code. The `profile_on` function does not establish those hooks, rather it causes code to be generated to support such hooks.

  With no optional argument, only code to support function call hooks will be generated. To enable support for line-by-line profile hooks, a value of 1 should be passed to this function.

See Also

  `profile_off, profile_begin, profile_end, profile_calibrate, profile_report`}

## 10.2 profile_off

Synopsis

  Turn off code generation for profiling hooks

Usage

  `profile_off ()`

Description

  This function turns off the generation of code to support profiling hooks.

See Also

  `profile_on, profile_begin, profile_end, profile_calibrate, profile_report`}

## 10.3 profile_begin

Synopsis

  Establish profiling hooks and reset the profiler

Usage

  `profile_begin ( [line_by_line] )`

Description

  This function establishes the profiling hooks and resets or initializes the profiler state. By default, only hooks to gather function call information are created. To enable the gathering of line-by-line information, a value of 1 should be passed to this function.

See Also

  `profile_end, profile_on, profile_off, profile_calibrate, profile_report`}

## 10.4 profile_end

Synopsis

  Remove profiling hooks and turn off profiler code generation

Usage

  `profile_end ()`

Description

  The `profile_end` function turns off the code generation to support profiling hooks and removes any profiling hooks that are in place.

See Also

  `profile_begin, profile_on, profile_off, profile_calibrate, profile_report`

## 10.5 profile_calibrate

Synopsis

  Calibrate the profiler

Usage

  `profile_calibrate ([ N ])`

Description

  This function may be used to ``calibrate'' the profiler. As the performance of the profiler and the interpreter varies with a platform and load-dependent manner, this function should be called prior to enabling the profiler. It tries to determine the average amount of overhead per statement executed and function call by executing a series of statements and functions many times to determine statistically accurate values. The optional parameter `N` may be used to control the amount of code executed for the calibration process. If no value is provided, the `N` will default to 1000. The higher the value, the more accurate the calibration will be and the longer the calibration process will take.

See Also

  `profile_begin, profile_end, profile_on, profile_off, profile_report`

## 10.6 profile_report

Synopsis

  Generate the profile report

Usage

  `profile_report (file)`

Description

  The function may be used to format the profile report and write it to the specified file. If the `file` parameter represents a `File_Type` file descriptor, then the report will be written the the descriptor.

See Also

  `profile_begin, profile_end, profile_on, profile_off, profile_calibrate`

Next Previous Contents