From cbbe46e832ec79fb9f9ccb4c7bd748c6390563ec Mon Sep 17 00:00:00 2001 From: sebres Date: Tue, 23 Jul 2019 21:43:37 +0000 Subject: small amend with a comment about the optimization --- generic/tclCmdMZ.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/generic/tclCmdMZ.c b/generic/tclCmdMZ.c index 8a2a3c7..1cb27fc 100644 --- a/generic/tclCmdMZ.c +++ b/generic/tclCmdMZ.c @@ -4553,6 +4553,11 @@ Tcl_TimeRateObjCmd( count++; if (!direct) { /* precompiled */ rootPtr = TOP_CB(interp); + /* + * Use loop optimized TEBC call (TCL_EVAL_DISCARD_RESULT): it's a part of + * iteration, this way evaluation will be more similar to a cycle (also + * avoids extra overhead to set result to interp, etc.) + */ ((Interp *)interp)->evalFlags |= TCL_EVAL_DISCARD_RESULT; result = TclNRExecuteByteCode(interp, codePtr); result = TclNRRunCallbacks(interp, result, rootPtr); -- cgit v0.12