diff options
author | Guido van Rossum <guido@python.org> | 1998-04-29 16:22:14 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1998-04-29 16:22:14 (GMT) |
commit | 212643f1990a322b3cd95871df6c2401f9ba0230 (patch) | |
tree | 0d7c501cf46173b59f28cd54ef4884655a594d17 /Doc/perl/l2hinit.perl | |
parent | 9d1b7ae65b103525a2f28ebcb43d2c580a04d2d4 (diff) | |
download | cpython-212643f1990a322b3cd95871df6c2401f9ba0230.zip cpython-212643f1990a322b3cd95871df6c2401f9ba0230.tar.gz cpython-212643f1990a322b3cd95871df6c2401f9ba0230.tar.bz2 |
Still somewhat experimental speedup. This appears to speed up the
most common interface to Tcl, the call() method, by maybe 20-25%.
The speedup code avoids the construction of a Tcl command string from
the argument list -- the Tcl argument list is immediately parsed back
by Tcl_Eval() into a list that is *guaranteed* (by Tcl_Merge()) to be
exactly the same list, so instead we look up the command info and call
the command function directly. If the lookup fails, we fall back to
the old method (Tcl_Merge() + Tcl_Eval()) so we don't need to worry
about special cases like undefined commands or the occasional command
("after") that sets the info.proc pointer to NULL -- let TclEval()
deal with these.
Diffstat (limited to 'Doc/perl/l2hinit.perl')
0 files changed, 0 insertions, 0 deletions