Next: A Note on Timing, Previous: Profiling overhead, Up: Profiling [Contents][Index]
This macro evaluates form, prints some timing and memory
allocation information to *trace-output*
, and returns any
values that form returns. The timing information includes
real time, user run time, and system run time. This macro executes
a form and reports the time and consing overhead. If the
time
form is not compiled (e.g. it was typed at top-level),
then compile
will be called on the form to give more accurate
timing information. If you really want to time interpreted speed,
you can say:
(time (eval 'form))
Things that execute fairly quickly should be timed more than once, since there may be more paging overhead in the first timing. To increase the accuracy of very short times, you can time multiple evaluations:
(time (dotimes (i 100) form))
This function returns the number of bytes allocated since the first time you called it. The first time it is called it returns zero. The above profiling routines use this to report consing information.
This variable accumulates the run-time consumed by garbage
collection, in the units returned by
get-internal-run-time
.
The value of internal-time-units-per-second is 100.
Next: A Note on Timing, Previous: Profiling overhead, Up: Profiling [Contents][Index]