User Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

cl:macros:time [2019/08/16 12:00]
cl:macros:time [2019/08/23 05:00] (current)
Line 1: Line 1:
 +====== Macro TIME ======
 +
 +====Syntax====
 +  * **time** //form// → //​result''​*''//​
 +
 +====Arguments and Values====
 +  * //form// - a //​[[CL:​Glossary:​form]]//;​ evaluated as described below.
 +  * //results// - the //​[[CL:​Glossary:​values]]//​ returned by the //form//.
 +
 +====Description====
 +**time** evaluates //form// in the current //​[[CL:​Glossary:​environment]]//​ (lexical and dynamic). A call to **time** can be compiled.
 +
 +**time** prints various timing data and other information to //​[[CL:​Glossary:​trace output]]//. The nature and format of the printed information is //​[[CL:​Glossary:​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====
 +**[[CL:​Functions:​get-internal-real-time|Function GET-INTERNAL-REAL-TIME]]**,​ **[[CL:​Functions:​get-internal-run-time|Function 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// by Richard P. Gabriel.
 +
 +\issue{STEP-ENVIRONMENT:​CURRENT}