The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

# BigBench - benchmark groups of opcodes under different versions

2001-11-25 v0.01 Tels
 - initial version

2001-11-28 v0.02 Tels
 - bb#.tmp => bb_#.tmp
 - align right op id, ops/s right aligned (and aligned at '.')
 - print reason for 'n/a' cases
 - print summary table
 - delete tmp file at END, 'bb_0000.tmp' etc inst. of 'bb.tmp'
 - print out from which file definitions are read
 - print out count of groups and ops to bench
 - added skew factor, to scale results by a constant factor
 - print date/time
 - changed output of 'real' to 'combined'
 - if all timings in group are n/a, group is also n/a
 - print line number of error in definition file

2001-11-29 v0.03 Tels
 - read templates from specified subdir
 - parse commandline options
   (--help --(no)terse --skew=factor --inc=dir, --path=path, --duration=time
    --accuracy=digits --definitions=file )
 - --help prints detailed help screen
 - renamed to bb
 - don't try to delete undef tempfile
 - abort if no templates found
 - abort if no groups or ops defined
 - autofill in group and op id's (if unspecified)
 - summary: output group avrg 
 - summary, group avarage comes after ops, not before
 - longest_name includes group names
 - print duration
 - pad() for shorter code
 - v1.48_Pari.inc => "v1.48\nPari" in summary (multiply header lines)
 - --nosummary to supress summary entirely
 - --base=number to create a relatively summary (based on first template)
 - calculate approx. time entire benchmark will take
 - templates die when wrong version is loaded, so that no false results occur

2001-11-30 v0.04 Tels
 - v1.38.inc => v1.39.inc
 - added bmod, blsft() and brsft() in bigint.def
 - it is a good idea to actually include bb in the distribution: MANIFESTed

2001-11-30 v0.05 Tels
 added:
   --code='"aaabbbaba" =~ /a+/;' for short commandline benchmarking fun
   --(no)unlink for leaving the temporary files around, to easier debug
   --simulate=srand for creating consistent, yet artificially results
   (used by testsuite)
   --tight for tighter spacing in summary
   some bare-bones pod
 fixed:
   summary if results were longer than template-name-parts
   longestname defaults to 6, not 10 (tighter output for only short names)

2001-12-01 v0.06 Tels
 added:
   --runs=number 			- run benchmark multiple times
   --take=average|lowest|highest|last   - take this from all runs
   --accuracy=digits                    - to change default from 3 to digits
   some basic tests to see whether bb is there and runs, at least
   print a summay of how many benchmarks failed
   print how long benchmark will take in seconds, minutes or hours
 fixed:
   better validity checks for options 
   use File::Spec for /dev/null
   extended doc to cover all commandline options
   removed bigfloat stuff from bigint.def and moved it to bigfloat.def
   added a lot of bigfloat benchmarks, added bmul() to bigint
   v1.33.inc dies for fsqrt() since that hangs in that version
   combined => both

2001-12-03 v0.07 Tels
 fixed:
   better result extraction
   don't bround() for NaN (check for eq 'n/a' was not enough)
   display correct time and not '...approximately 0 minutes'
 added:
   more sqrt() benchmarks to bigfloat/bigint

2002-02-15 v0.08 Tels
 added:
   nointeger 
   hex/bin benchmarks to bigfloat/bigint

2002-08-01 v0.09 Tels
 fixed:
   automaticaly do --terse when using --code
   some spellings
   renamed group 'bb' to 'code' for --code 
2004-08-21 v0.10 Tels (9 tests)
 * reorganized files to unclutter dir
 * empty options print out the help screen
 * print out time it took all in all in seconds
 * for --code, use a good default template (Perl)
2004-10-18 v0.11 Tels
 * fixed undef warning in line 215 with N/A results
 * require BigInt v1.72
 * added --version, --store and --reuse
 * more tests
 * use Pod::Usage instead of duplicating the help text
 * rename inc/ to tpl/ (it contains templates, not includes)