• Guido van Rossum's avatar
    Still somewhat experimental speedup. This appears to speed up the · 212643f1
    Guido van Rossum yazdı
    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.
    212643f1
_tkinter.c 38 KB