bench_intro - bench introduction
The bench (short for benchmark tools), is a set of related, yet different, entities which are working together for the easy creation and execution of performance test suites, also known as benchmarks. These are
A tcl based language for the declaration of test cases. A test case is represented by a tcl command declaring the various parts needed to execute it, like setup, cleanup, the commands to test, etc.
A package providing the ability to execute test cases written in that language.
Which of the more detailed documents are relevant to the reader of this introduction depends on their role in the benchmarking process.
A writer of benchmarks has to understand the bench language itself. A beginner to bench should read the more informally written bench language introduction first. Having digested this the formal bench language specification should become understandable. A writer experienced with bench may only need this last document from time to time, to refresh her memory.
A user of benchmark suites written in the bench language has to know which tools are available for use. At the bottom level sits the package bench, providing the basic facilities to read and execute files containing benchmarks written in the bench language, and to manipulate benchmark results.
This module and package have been derived from Jeff Hobbs' tclbench application for the benchmarking of the Tcl core and its ancestor "runbench.tcl".
This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category bench of the Tcllib Trackers. Please also report any ideas for enhancements you may have for either package and/or documentation.