[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Excessive verbosity in debugger command processor

In Symbolics 3640 Zwei in Genera 7.0, IP-TCP 52.0, 7-0-Patches 1.8,
MAC 5.4, Fortran 6.3, Pascal 25.3, Prolog 17.0, Experimental Util 4,
microcode 3640-MIC 394, FEP 127, FEP0:>v127-lisp.flod(44),
FEP0:>v127-loaders.flod(44), FEP0:>v127-info.flod(44),
FEP0:>v127-debug.flod(31), Machine serial number 5229, on Lisp Machine Bob Marley:

I'll make this as polite as I can, putting aside some disagreements with the
philosophy of Release 7.

Dynamic windows are basically a good thing.  But typeout is quite a bit slower,
and when typeout of useless information is repeatedly on your critical path this 
slowness can be a little annoying.  One small change would make me (and many 
others I've spoken with) a lot happier.

In the debugger, when you type (say) control-N at the  prompt, it
prints (in italics) a long line of text beginning "Next Frame" and including
the settings of all possible fields of the "Next Frame" command.  This can take
a long time, for two reasons: (1) having to swap in the code and fonts to 
generate this line, (2) the time actually taken to type the line and store it
in the dynamic window.  Time (2) alone is routinely two-tenths of a second of
pure critical path.

A suggestion.  Whatever displays the expansion of my debugger commands
should only display fields WITH NON-DEFAULT VALUES.  Thus a simple control-N
should expand simply to Next Frame.

I'm sure there are other ways you could get typeout overhead off the user's
critical path.  Perhaps much of (1) is taken swapping in the italic font.  If
so, you might consider designating one or two fonts to be wired down and used
for anything that is in the average programmer's debugging cycle (editor -
listener - debugger).  If (1) is swapping in the *code* that prints these 
messages, you might isolate a small amount of such code to wire down.