CLHS: Macro TIME

#

Macro TIME

Syntax:

time form => result*

Arguments and Values:

form---a form; evaluated as described below.

results---the values returned by the form.

Description:

time evaluates form in the current environment (lexical and dynamic). A call to time can be compiled.

time prints various timing data and other information to trace output. The nature and format of the printed information is implementation-defined. Implementations are encouraged to provide such information as elapsed real time, machine run time, and storage management statistics.

Examples: None.

Affected By:

The accuracy of the results depends, among other things, on the accuracy of the corresponding functions provided by the underlying operating system.

The magnitude of the results may depend on the hardware, the operating system, the lisp implementation, and the state of the global environment. Some specific issues which frequently affect the outcome are hardware speed, nature of the scheduler (if any), number of competing processes (if any), system paging, whether the call is interpreted or compiled, whether functions called are compiled, the kind of garbage collector involved and whether it runs, whether internal data structures (e.g., hash tables) are implicitly reorganized, etc.

Exceptional Situations: None.

See Also:

get-internal-real-time, get-internal-run-time

Notes:

In general, these timings are not guaranteed to be reliable enough for marketing comparisons. Their value is primarily heuristic, for tuning purposes.

For useful background information on the complicated issues involved in interpreting timing results, see Performance and Evaluation of Lisp Programs.

The following X3J13 cleanup issue, not part of the specification, applies to this section:

- STEP-ENVIRONMENT:CURRENT

Copyright 1996-2005, LispWorks Ltd. All rights reserved.