diff options
| author | sebres <sebres@users.sourceforge.net> | 2017-03-07 11:35:03 (GMT) |
|---|---|---|
| committer | sebres <sebres@users.sourceforge.net> | 2017-03-07 11:35:03 (GMT) |
| commit | 279bfdeef3577e9767bfafc7102011176f88034f (patch) | |
| tree | 4db36289a3566ca03c981d6a8416849c45050e7b | |
| parent | aec683eef83d7d5bd08f063a4c256ed937de89f4 (diff) | |
| download | tcl-279bfdeef3577e9767bfafc7102011176f88034f.zip tcl-279bfdeef3577e9767bfafc7102011176f88034f.tar.gz tcl-279bfdeef3577e9767bfafc7102011176f88034f.tar.bz2 | |
timerate: don't calculate threshold by too few iterations, because sometimes first iteration(s) can be too fast (cached, delayed clean up, etc).
| -rw-r--r-- | generic/tclCmdMZ.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/generic/tclCmdMZ.c b/generic/tclCmdMZ.c index 14ff5f0..b62ccf8 100644 --- a/generic/tclCmdMZ.c +++ b/generic/tclCmdMZ.c @@ -4282,6 +4282,13 @@ usage: if (middle >= stop) { break; } + + /* don't calculate threshold by few iterations, because sometimes + * first iteration(s) can be too fast (cached, delayed clean up, etc) */ + if (count < 10) { + threshold = 1; continue; + } + /* average iteration time in microsecs */ threshold = (middle - start) / count; if (threshold > maxIterTm) { |
