Common Lisp Package: CL-STOPWATCH

README:

FUNCTION

Public

PROGRESS-TASK-DONE (KW &OPTIONAL (STREAM *STANDARD-OUTPUT*))

End the task designated by the keyword KW and report its completion time to STREAM.

PROGRESS-TASK-START (KW STRING &OPTIONAL (STREAM *STANDARD-OUTPUT*))

Start a task designated by the keyword KW, with a comment STRING, and print an indication that the task has started and start a stopwatch. Print everything to STREAM.

STOPWATCH-READ (KW)

Read a stopwatch designated by KW.

STOPWATCH-RESET (KW)

Resets the stopwatch designated by KW. Equivalent to starting it.

STOPWATCH-START (KW)

Start a stopwatch designated by KW.

STOPWATCH-STOP (KW)

Stop the stopwatch designated by KW and return the reading in milliseconds.

MACRO

Public

PROGRESS-TASK (KW STRING &BODY BODY)

Execute BODY, reporting the task, labeled by the keyword KW and commented with STRING. Report its end time and return the value returned by BODY.

TIME* (FORM)

Freshly compile FORM and time its execution.

WITH-STOPWATCH (&BODY BODY)

Execute BODY, returning its value as well as the value of the watch.

Private

GET-ACCURATE-TIME

Get the time in milliseconds, accurately.

VARIABLE

Private

Undocumented

*PROGRESS-INDENT*

*STOPWATCH-TIMING*