Tcl Source Code

Check-in [11760d10b0]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:timerate: allow break from measurement cycle (usable to provide conditional stop possibility inside timerate)
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | sebres-8-5-timerate
Files: files | file ages | folders
SHA3-256: 11760d10b0735e3382369c739c1344b979dc53234768604ded417bfa25902d17
User & Date: sergey.brester 2019-02-12 19:38:46.169
Context
2019-02-12
19:46
fixes estimated time of too short execution considering calibrated overhead (it is 0us and not 1us, ... check-in: cde1464889 user: sergey.brester tags: sebres-8-5-timerate
19:38
timerate: allow break from measurement cycle (usable to provide conditional stop possibility inside ... check-in: 11760d10b0 user: sergey.brester tags: sebres-8-5-timerate
19:35
cherrypick [8ad25ef9eb] from 8.6 - timerate: added dynamic factor by threshold calculation (avoid gr... check-in: fd80b4356e user: sergey.brester tags: sebres-8-5-timerate
Changes
Unified Diff Ignore Whitespace Patch
Changes to generic/tclCmdMZ.c.
4165
4166
4167
4168
4169
4170
4171


4172





4173
4174
4175
4176
4177
4178
4179
	    /* precompiled */
	    result = TclExecuteByteCode(interp, codePtr);
	} else {
	    /* eval */
	    result = TclEvalObjEx(interp, objPtr, 0, NULL, 0);
	}
	if (result != TCL_OK) {


	    goto done;





	}
	
	/* don't check time up to threshold */
	if (--threshold > 0) continue;

	/* check stop time reached, estimate new threshold */
    #ifdef TCL_WIDE_CLICKS







>
>
|
>
>
>
>
>







4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
	    /* precompiled */
	    result = TclExecuteByteCode(interp, codePtr);
	} else {
	    /* eval */
	    result = TclEvalObjEx(interp, objPtr, 0, NULL, 0);
	}
	if (result != TCL_OK) {
	    /* allow break from measurement cycle (used for conditional stop) */
	    if (result != TCL_BREAK) {
		goto done;
	    }
	    /* force stop immediately */
	    threshold = 1;
	    stop = -0x7FFFFFFFFFFFFFFFL;
	    result = TCL_OK;
	}
	
	/* don't check time up to threshold */
	if (--threshold > 0) continue;

	/* check stop time reached, estimate new threshold */
    #ifdef TCL_WIDE_CLICKS