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 | db083499bfff8aee794512e3da2f0ad2f201f6b0 (patch) | |
tree | 4db36289a3566ca03c981d6a8416849c45050e7b /generic/tclCmdMZ.c | |
parent | 9f13ce8038e4c27cab5d0ee977a61ca48bde2b73 (diff) | |
download | tcl-db083499bfff8aee794512e3da2f0ad2f201f6b0.zip tcl-db083499bfff8aee794512e3da2f0ad2f201f6b0.tar.gz tcl-db083499bfff8aee794512e3da2f0ad2f201f6b0.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).
Diffstat (limited to 'generic/tclCmdMZ.c')
-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) { |