STOPWATCH reports how long every AutoCAD command takes to run. Toggle it on and each command prints its elapsed time when it finishes.
What StopWatch does
This is the practical way to find out what is actually making a drawing feel slow, rather than guessing. Run the suspect commands with the timer on and read the numbers.
How to use it
- Load the routine with
APPLOAD, or put it on your support file search path. - Type
STOPWATCHto turn timing on. - Work normally. Each command prints its elapsed time as it finishes.
- Type
STOPWATCHagain to turn it off.
How it works
A command reactor fires two callbacks: one the instant a command starts, one the instant it ends. The start callback stamps the clock, the end callback stamps it again and prints the difference.
Two clocks are read, because they answer different questions.
MILLISECS is the wall clock — what you actually waited. CPUTICKS is processor time, which distinguishes genuine computation from time spent waiting on a file, a network share or on you.
A command with a long wall time but few ticks is waiting on something external; one with both high is genuinely working hard. That single distinction is usually the whole diagnosis — it tells you whether to optimise a routine or go and look at the network.
Notes and limits
- It reports every command, including transparent ones, which can be noisy. Turn it off when you are done measuring.
- Compare the two figures, not just the first. Wall time alone will send you optimising the wrong thing.
- Reactors live for the session. The toggle is not remembered between restarts.
- It changes nothing in the drawing.
Download and details
| Name | StopWatch — report how long every AutoCAD command takes to run |
| Download | StopWatch.lsp — 6.1 KB, plain AutoLISP source. Downloads directly; no zip to unpack. |
| Type | AutoCAD AutoLISP routine |
| Command | STOPWATCH |
| Requires | the ActiveX layer (loaded automatically by the routine with vl-load-com). |
| Source size | 6.1 KB, 136 lines |
| Error handling | Yes — a *error* handler restores every system variable it changed, on cancel as well as on error. |
| Undo | Not needed — this routine only reads the drawing and changes nothing. |
| Compatibility | AutoCAD (any release with AutoLISP), BricsCAD, ZWCAD, GstarCAD, ProgeCAD and other IntelliCAD-based platforms. AutoCAD LT needs a LISP enabler. No .NET, no ObjectARX, no installer. |
| Author | YZ, August 2026 |
| Licence | Free to use, supplied “as is” with no warranty. |
References
- USAGELOG LISP — which commands get used, rather than how long they take
- STRAYHUNT LISP — one common cause of a drawing behaving badly
- More free AutoLISP routines on this site
- Wisey’s Steel Shapes — free structural steel section drawing program