2011-02-16  Jeff Hobbs  <jeffh@ActiveState.com>

	* runbench.tcl (collectData): correct autoscale magic if not
	repeating and autoscale is requested (ensure output).

	* tcl/expr.bench (expr-abs): abs proc vs built-in comparison

2011-01-19  Jeff Hobbs  <jeffh@ActiveState.com>

	* tcl/format.bench (new): bench for 'format'

	* runbench.tcl (parseOpts): fix scoping and -paths arg handling

2010-12-02  Jeff Hobbs  <jeffh@ActiveState.com>

	* runbench.tcl (parseOpts): fix var scoping
	Make -repeat really be repeat runs and adjust auto-scale to work
	with repeats.

2010-12-01  Jeff Hobbs  <jeffh@ActiveState.com>

	* tcl/sha1.bench: use only SHA1 algorithm that works across
	versions.  The variant didn't add any extra value.  Also strip out
	the unused code that wasn't relevant to the benchmark.

2010-11-30  Jeff Hobbs  <jeffh@ActiveState.com>

	* runbench.tcl: add -repeat and -collate options that allow for
	multiple runs to be accumulated and collate to be min, max or avg
	value of runs.

	* tcl/expr.bench (UpdStrOfDbl): improve UpdStrOfDbl benchmarks

	* runbench.tcl (collectData): warn if autoscale is on that the
	total elapsed time gets skewed

	* libbench.tcl: spit out evalstats info if available

2010-11-09  Jeff Hobbs  <jeffh@ActiveState.com>

	* tcl/expr.bench (expr-UpdateStringOfDouble): add TIP#132
	UpdateStringOfDouble slowdown benchmark

2010-10-01  Jeff Hobbs  <jeffh@ActiveState.com>

	* tcl/binary.bench: add improved random binary string bench

	* runbench.tcl: clean up arg handling, add -single $bool option to
	run all tests in same interp instance (default no == separate).

2010-09-27  Jeff Hobbs  <jeffh@ActiveState.com>

	* normbench.tcl: support -normalize "none" to mean just change
	formats but not normalize

	* libbench.tcl (bench): guard again "0" claimed runtime speed
	(bench_tmpfile): add pid to tmpfile

	* tcl/binary.bench: bench to generate random binary

	* tcl/ascii85.bench (new): ascii85 benchmarks, works for 8.4+

	* tcl/uplevel.bench: works for 8.0+ only

	* tcl/expr.bench: more simple expr benchmarks

	* tcl/eval.bench (e-cmd-expand): add {*} benchmark

	* runbench.tcl, libbench.tcl: add -autoscale option that ensures
	min and max runtime length independent of iters requested.

	* tcl/read.bench (read-cat): make sure to close /dev/null

2010-09-24  Jeff Hobbs  <jeffh@ActiveState.com>

	* tcl/string.bench: add binary string compare benchmarks

2010-09-22  Jeff Hobbs  <jeffh@ActiveState.com>

	* runbench.tcl: require 8.3

2008-06-12  Miguel Sofer <msofer@users.sf.net>

	* tcl/uplevel.bench: oops, bench required 8.5 ... fixed.

2008-06-12  Miguel Sofer <msofer@users.sf.net>

	* tcl/uplevel.bench: new benchmarks to show uplevel compilation
	speedups 

2007-12-10  Jeff Hobbs  <jeffh@ActiveState.com>

	* tcl/read.bench: use -buffering full on cat output
	up iters on the benchmarks for slightly better consistency

	* tcl/regexp.bench: add ini file benchmark to highlight RE slowdown
	Add backtrack case and digit matching benchmarks.

	* tcl/string.bench: more glob recursion case benchmarks

2007-11-16  Jeff Hobbs  <jeffh@ActiveState.com>

	* normbench.tcl: Add -output wiki and variable in/out format
	* runbench.tcl:  Add -output wiki format

	* tcl/expr.bench (expr-unbraced-long): add benchmark
	* tcl/list.bench: add list reverse benchmarks
	* tcl/string.bench: add string reverse core benchmark
	* tcl/regexp.bench: limit pre-8.1 REs

2007-11-11  Jeff Hobbs  <jeffh@ActiveState.com>

	* tcl/regexp.bench: add more RE tests for core ReToGlob perf

2007-11-07  Jeff Hobbs  <jeffh@ActiveState.com>

	* tcl/read.bench: add grep-glob and cat benchmarks.
	Allow changing buffer benchmarks for 8.3+.
	Allow binary translation for 8.0.

2006-11-13  Jeff Hobbs  <jeffh@ActiveState.com>

	* tcl/encoding.bench: add result validation checks

	* runbench.tcl (outputData-text-item): centralize item output format

	* tcl/sha1.bench, tcl/md5.bench: return if < Tcl 8.2

2006-11-10  Jeff Hobbs  <jeffh@ActiveState.com>

	* runbench.tcl (outputData-text): allow more space in output,
	check for double vals in non-normalized output path.

	* tcl/gccont.bench (GCCont_cpb::cGCC): correct init to work on 8.5
	changes for incr auto-init (keeps compat with other versions).

	* tcl/fcopy.bench: use bench_tmpfile where appropriate

	* tcl/vars.bench (var-incr-*): add var type incr benchmarks

2006-10-16  Pat Thoyts  <patthoyts@users.sourceforge.net>

	* tcl/sha1.bench: Avoid using method B with tcl 8.5. Method B
	                  relies on the implicit truncation to 32 bit
	                  ints that exists in 8.4. In 8.5 it promotes
	                  to bignums and takes forever.
	* tcl/binary.bench: Updated to include TIP 275 unsigned flags
	                    where available.

2005-10-08  Pat Thoyts  <patthoyts@users.sourceforge.net>

	* tcl/sha1.bench:  Updated the sha1 and md5 implementations with
	* tcl/md5.bench:   current tcllib code.

2004-12-29  Jeff Hobbs  <jeffh@ActiveState.com>

	* tcl/parse.bench: ensure file size is consistent between interp
	runs with formatted BOUND string.

2004-12-27  Jeff Hobbs  <jeffh@ActiveState.com>

	* doc/runbench.1: fix doc for -throwerrors [Bug 1091766]

	* runbench.tcl (getInterps): use exec << instead of echo [Bug 1091764]

2004-12-24  Miguel Sofer <msofer@users.sf.net>

	* tcl/namespace.bench: new benchmark, measures the cost of calling
	the same global command alternating different namespaces.

2004-12-20  Jeff Hobbs  <jeffh@ActiveState.com>

	* tcl/array.bench (new): array hash benchmarks

	* tcl/file.bench: fix checkall to operate for tclsh <=8.0

	* tcl/string.bench: fix string match -nocase for tclsh <=8.2

	* runbench.tcl (convertVersion): add -globtclsh -globwish file
	path glob opts (tclsh* and wish* by default).
	Normalize soft-links.

	* normbench.tcl (normalize-text): harden time norm check

2003-08-06  Jeff Hobbs  <jeffh@ActiveState.com>

	* normbench.tcl (normalize): correct normalization of new-style
	stats where TclX data is present in output.

2003-02-11  Jeff Hobbs  <jeffh@ActiveState.com>

	* tcl/list.bench: lsearch -regexp benchmarks

	* tcl/file.bench: updated with more benchmarks

2003-02-08  Jeff Hobbs  <jeffh@ActiveState.com>

	* tcl/startup.bench: replaced by file benchmarks
	* tcl/file.bench: file benchmarks

2002-11-13  Jeff Hobbs  <jeffh@ActiveState.com>

	* tcl/regexp.bench: added anchored re tests

	* tcl/klist.bench: allow method filter from command lineinvocation.

	* tcl/list.bench: add lset benchmarks

	* tcl/md5.bench: correct to work with pre-8.2 interps

	* tcl/string.bench: add string growth, remove split benchmarks
	* tcl/split.bench: more split benchmarks

	* runbench.tcl: allow tclsh*/wish* (no version required)

2002-07-24  Miguel Sofer <msofer@users.sourceforge.net>

	* tcl/base64.bench: added the current code from tcllib.
	
2002-06-20  Miguel Sofer <msofer@users.sourceforge.net>

	* tcl/read.bench: modified to actually "use" the data being read
	by setting a local variable. 

2002-06-20  Miguel Sofer <msofer@users.sourceforge.net>

	* tcl/md5.bench: added the faster implementation from tcllib
	
2002-06-12  Jeff Hobbs  <jeffh@ActiveState.com>

	* tcl/catch.bench: corrected use of string map in toplevel code

	* tcl/expr.bench: corrected use of string repeat in toplevel code

	* tcl/sha1.bench: correct wideint problem for 8.4 in sha1DF

	* tcl/string.bench: corrected string equality checks to use
	different variables (objects)

	* tcl/gccont.bench: new benchmark that does some bioinformatics
	manipulation on dna sequences

2002-06-12  Miguel Sofer <msofer@users.sourceforge.net>

	* tcl/klist.bench:
	* tcl/heapsort.bench: added algorithms using [lset]
	
2002-06-11  Miguel Sofer <msofer@users.sourceforge.net>

	* tcl/regexp.bench: made the bench access the match variables, to
	benchmark also the read access to them.
	* tcl/vars.bench: added a "VAR ref local" benchmark, to be able to
	compare the access times of linked variables to those of local
	variables. 

2002-05-29  Jeff Hobbs  <jeffh@ActiveState.com>

	* tcl/parse.bench: more complex string parsing benchmark (8.0+)

	* tcl/encoding.bench: start of some encoding benchmarks (8.1+)

	* tcl/expr.bench: added ==/!= expr benchmarks

	* tcl/string.bench: corrected the equality benchmarks to not use
	the same object unless specified.

2002-04-25  Jeff Hobbs  <jeffh@ActiveState.com>

	* runbench.tcl:
	* libbench.tcl: added ability to set # threads to use if Thread
	package can be loaded.
	improved -result error checking

	* tcl/base64.bench: verify result of encode/decode

	* tcl/proc.bench: added empty proc benchmarks

	* tcl/list.bench: added LIST concat benchmarks (hartweg)

2002-03-27  Miguel Sofer <msofer@users.sourceforge.net>

	* tcl/catch.bench: modified the catch benchmarks to allow
	comparison with catching non-error exceptions; added new 
	"CATCH except" benchmark.

2002-03-15  Miguel Sofer <msofer@users.sourceforge.net>

	* tcl/catch.bench: added benchmark for catch in a body with many
	nested exception ranges.
	
2002-02-22  Jeff Hobbs  <jeffh@ActiveState.com>

	* tcl/loops.bench: added while 1 benchmark

	* tcl/conditional.bench: added if 1/0 benchmark

2002-02-07  Jeff Hobbs  <jeffh@ActiveState.com>

	* runbench.tcl: noted thread option.

	* libbench.tcl: added ability to check result of test

	* tcl/base64.bench: stripped arg stuff out of code to make it work
	in 8.0 as well.

	* tcl/list.bench: corrected list-2.11 to append to simple var.

	* tcl/map.bench: added http mapReply & simple regsubs benchmarks

	* tcl/read.bench: commented out new changing buffersize benchmarks
	as they do weird things to various interp versions.

	* tcl/regexp.bench: added static regexp benchmarks

	* tcl/string.bench: added string first utf benchmarks

	* tcl/vars.bench: corrected namespace usage for pre-8 interps.

2001-09-25  Jeff Hobbs  <jeffh@ActiveState.com>

	* tcl/string.bench: added exact string match benchmark and fixed
	other string match benchmarks

	* tcl/list.bench: added simple list benchmark

	* tcl/vars.bench: added mset benchmarks

	* libbench.tcl:
	* runbench.tcl: added support for -threads option to try and load
	a thread package and run separate benchmark files simultaneously.

2001-08-29  Jeff Hobbs  <jeffh@ActiveState.com>

	* tcl/methods.bench:
	* tcl/vars.bench: added some more benchmarks

2001-07-18  Andreas Kupries <andreas_kupries@users.sourceforge.net>

	* tcl/read.bench: new "read" benchmarks detailing the effect of
	  the buffersize on IO performance. Created to check out the
	  performance patch associated with SF item #427196.

2001-06-19  Jeff Hobbs  <jeffh@ActiveState.com>

	* tcl/binary.bench: new "binary" benchmarks

	* tcl/string.bench: more random split benchmarks

2001-06-03  Jeff Hobbs  <jeffh@ActiveState.com>

	* libbench.tcl: 
	* runbench.tcl: reduced default iterations to 1000 (still quite
	sufficient to remove random noise).

2001-05-31  Jeff Hobbs  <jeffh@ActiveState.com>

	* tcl/conditional.bench: added switch/if comparison bench.

	* tcl/base64.bench: new benchmark with base64 code (from tcllib).

	* tcl/md5.bench: new benchmark with Libes' md5 (from tcllib).

	* tcl/sha1.bench: new benchmark with a couple of pure tcl sha1
	routines (Libes and Fellows).

2001-05-29  Andreas Kupries  <andreas_kupries@users.sourceforge.net>

	* doc/libbench.n:
	* doc/runbench.1:
	* doc/normbench.1: Added documentation of benchmark library and
	  applications.

	* doc: Added documentation directory.

2001-05-22  Jeff Hobbs  <jeffh@ActiveState.com>

	* runbench.tcl: corrected error for reporting errors in sourced files

	* tcl/fcopy.bench: made use of bench_tmpfile for more accurate
	data (not skewed by network).

	* libbench.tcl (bench_tmpfile): correctly allow multiple calls to
	bench_tmpfile within one file.

	* normbench.tcl: new file that allows for post-process
	normalization of the benchmark data.
	Corrected last minute code checkin bug.
	Added support for moving left (to higher versions) to normalize
	when the requested version returned non-double data.

	* tcl/libbench.tcl:
	* tcl/runbench.tcl: changed -iterations to be a maximum number for
	timings, to override any larger number the benchmark may set for
	itself.
	Rearranged result format of benchmarks to return data by benchmark
	description.  Benchmarks are now always returned in alphabetical
	order of the benchmark description.
	Changed benchmarks to rerun the interpreter per benchmark file
	instead of sourcing all files into the same interpreter.  This
	reduces any skew related to excessive mem usage or other factors
	that may arise for one benchmark file.
	Changed midpoint numbers to time elapsed calculation.
	Added -normalize option that post-processes the time information
	to normalize against one version as a baseline.
	Changed -errors <bool> to -throwerrors with no arg, and changed
	the default to not throw errors in benchmark files.
	Added version string to verbose run info.

	* tcl/klist.bench: added support for <8.0 to all benchmarks except
	shuffle0, with notably reduced default run iters due to extreme
	slowness of <8.0 interps for these tasks.

	* tcl/string.bench:
	* tcl/regexp.bench: fixed incorrect str-repeat replacement function

2001-05-18  Jeff Hobbs  <jeffh@ActiveState.com>

	* tcl/string.bench: added <8.0 compatible rev-recursive benchmark,
	fixed non-octal escape in ustring instantiation.

	* tcl/wordcount.bench: added <8.1 compatible benchmarks

	* tcl/methods.bench: return for interps <8.0

2001-05-19  Andreas Kupries  <andreas_kupries@users.sourceforge.net>

	* tcl/conditional.bench: Changed some descriptions to make them
	  unique and matching to the code.

	* tcl/fcopy.bench: New benchmarks for the [fcopy] command
	  (unsupported0 in older versions of the core).

2001-05-16  Jeff Hobbs  <jeffh@ActiveState.com>

	* tcl/string.bench: added static string length benchmarks

	* tcl/wordcount.in: 
	* tcl/wordcount.bench: wordcount benchmarks

	* tcl/heapsort.bench: new file with heapsort benchmark
	* tcl/string.bench:
	* tcl/matrix.bench:
	* tcl/regexp.bench: extended benchmarks

2001-05-11  Jeff Hobbs  <jeffh@ActiveState.com>

	* tcl/string.bench: clarified string reverse benchmarks, added
	more to the string compare benchmarks.

	* tcl/matrix.bench: some new matrix benchmarks.  Basically a seed
	file looking for more.  procs courtesy Sofer.

	* tcl/list.bench: added a list-iter benchmark

	* tcl/klist.bench: reduced default iters in klist.bench.  Accuracy
	seems about the same without the wait...

	* libbench.tcl: 
	* runbench.tcl: added support for -rmatch option (regexp match of
	benchmark description).
	Added MIDPOINT verbose puts for interim time notes.

2001-04-11  Jeff Hobbs  <jeffh@ActiveState.com>

	* tcl/klist.bench: added shuffle5* from wiki.

2001-03-28  Jeff Hobbs  <jeffh@activestate.com>

	* tcl/string.bench: fixed str-first proc that had bogus code in it.
	added more split benchmarks for dkf's split improvement in 8.4.
	
	* tk/canvas.bench: expanded item draw benchmarks

2001-03-23    <jeffh@activestate.com>

	* tk/canvas.bench: added simple item draw benchmarks

2001-03-15    <jeffh@activestate.com>

	* tcl/klist.bench: improved non-tclbench data output.

	* runbench.tcl: added more error capturing.

	* tcl/string.bench: fixed calls to string repeat to work with
	<8.1.1 interps.

	* tcl/klist.bench: new file to benchmark various list shuffling
	techniques (from wiki).
	* tcl/methods.bench: new file to benchmark various method
	invocation speeds (petasis).

2000-10-19  Jeff Hobbs  <hobbs@ajubasolutions.com>

	* tcl/string.bench (str-append-2): added more append tests

2000-08-30  Jeff Hobbs  <hobbs@scriptics.com>

	* tcl/string.bench: made string repeat calls compatible with
	pre-8.1.1 interpreters.

	* libbench.tcl (bench_tmpfile): add env to global list

2000-08-29  Eric Melski  <ericm@ajubasolutions.com>

	* tcl/string.bench: Extended string append benchmarks to exploit
	new growth algorithm for string objects in Tcl 8.4a2.

2000-05-31  Jeff Hobbs  <hobbs@scriptics.com>

	* runbench.tcl: new options -errors (passed to libbench), -verbose
	(by default we are now quieter on output), -output <text|list|csv>
	(different output types - csv is char-sep-value for Excel).
	Added start/finish times (in -verbose mode).
	* libbench.tcl: libbench now takes -option switches for
	flexibility, options for -errors BOOL (error suppression), -interp
	NAME (to specify interp), -match PATTERN (glob pattern to filter
	tests by desc), -iters NUM (default number of iters to run).
	Reorganized how data is returned to runbench master.

	* tk/entry.bench (new):
	* tk/canvas.bench (new): new tests for widget creation, config

	* tcl/array.bench (removed):
	* tcl/vars.bench: merged array.bench tests into VAR

	* tcl/map.bench: fixed for compatability with Tcl7.4-

2000-05-25  Jeff Hobbs  <hobbs@scriptics.com>

	* runbench.tcl: added -match, -notcl, -notk options, restructured
	startup sequence.

	* libbench.tcl: added ability to return string values from bench
	tests and support for filtering tests to run.

	* tcl/string.bench: moved string mapping benchmarks and added more
	string equality benchmarks
	* tcl/map.bench: added extended string mapping benchmark

	* tcl/read.bench:
	* tcl/startup.bench:
	* tk/startup.bench: updated code to reflect proc-oriented tmpfile
	operations.
