diff options
author | dkf <donal.k.fellows@manchester.ac.uk> | 2009-07-20 09:26:16 (GMT) |
---|---|---|
committer | dkf <donal.k.fellows@manchester.ac.uk> | 2009-07-20 09:26:16 (GMT) |
commit | 4e8b86c24d420e998e237b3088592b048a63d606 (patch) | |
tree | 0821242c98cef16c20283fd13c8aa2e1b871bf4e /ChangeLog | |
parent | 5c9038b30eadc53a06bd92249b583ab15f71c1c7 (diff) | |
download | tcl-4e8b86c24d420e998e237b3088592b048a63d606.zip tcl-4e8b86c24d420e998e237b3088592b048a63d606.tar.gz tcl-4e8b86c24d420e998e237b3088592b048a63d606.tar.bz2 |
Performance boost for [string is].
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 44 |
1 files changed, 26 insertions, 18 deletions
@@ -1,3 +1,11 @@ +2009-07-20 Donal K. Fellows <dkf@users.sf.net> + + * generic/tclCmdMZ.c (StringIsCmd): Reorganize so that [string is] is + more efficient when parsing things that are correct, at a cost of + making the empty string test slightly more costly. With this, the cost + of doing [string is integer -strict $x] matches [catch {expr {$x+0}}] + in the successful case, and greatly outstrips it in the failing case. + 2009-07-16 Don Porter <dgp@users.sourceforge.net> * generic/tclCmdIL.c: Removed unused variables. @@ -7,39 +15,39 @@ * generic/tclScan.c: Typo in ACCEPT_NAN configuration. - * generic/tclStrToD.c: Set floating point control register on - MIPS systems so that the gradual underflow expected by Tcl is - in effect. [Bug 2819200] + * generic/tclStrToD.c: [Bug 2819200]: Set floating point control + register on MIPS systems so that the gradual underflow expected by Tcl + is in effect. 2009-07-14 Andreas Kupries <andreask@activestate.com> * generic/tclBasic.c (DeleteInterpProc,TclArgumentBCEnter, - TclArgumentBCRelease, TclArgumentGet): + (TclArgumentBCRelease, TclArgumentGet): * generic/tclCompile.c (EnterCmdWordIndex, TclCleanupByteCode, - TclInitCompileEnv, TclCompileScript): + (TclInitCompileEnv, TclCompileScript): * generic/tclCompile.h (ExtCmdLoc): * generic/tclExecute.c (TclExecuteByteCode): * generic/tclInt.h (ExtIndex, CFWordBC): * tests/info.test (info-39.0): Backport of some changes made to the Tcl head, to handle literal - sharing better. The code here is much simpler (trimmed down) - compared to the head as the 8.5 branch is not bytecode compiling - whole files, and doesn't compile eval'd code either. + sharing better. The code here is much simpler (trimmed down) compared + to the head as the 8.5 branch is not bytecode compiling whole files, + and doesn't compile eval'd code either. - Reworked the handling of literal command arguments in bytecode to - be saved (compiler) and used (execution) per command (See the - TCL_INVOKE_STK* instructions), and not per the whole bytecode. - This removes the problems with location data caused by literal - sharing in proc bodies. Simplified the associated datastructures - (ExtIndex is gone, as is the function EnterCmdWordIndex). + Reworked the handling of literal command arguments in bytecode to be + saved (compiler) and used (execution) per command (see the + TCL_INVOKE_STK* instructions), and not per the whole bytecode. This + removes the problems with location data caused by literal sharing in + proc bodies. Simplified the associated datastructures (ExtIndex is + gone, as is the function EnterCmdWordIndex). 2009-07-01 Pat Thoyts <patthoyts@users.sourceforge.net> - * win/tclWinInt.h: Handle the GetUserName API call via the - * win/tclWin32Dll.c: tclWinProcs indirection structure. This - * win/tclWinInit.c: fixes a problem obtaining the username when - the USERNAME environment variable is unset [Bug 2806622] + * win/tclWinInt.h: [Bug 2806622]: Handle the GetUserName API call + * win/tclWin32Dll.c: via the tclWinProcs indirection structure. This + * win/tclWinInit.c: fixes a problem obtaining the username when the + USERNAME environment variable is unset. 2009-06-15 Don Porter <dgp@users.sourceforge.net> |