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".
Bugs, Ideas, Feedback
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 [http://core.tcl.tk/tcllib/reportlist]. Please also report any ideas for enhancements you may have for either package and/or documentation.
When proposing code changes, please provide unified diffs, i.e the output of diff -u.
Note further that attachments are strongly preferred over inlined patches. Attachments can be made by going to the Edit form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.
bench, bench_lang_faq, bench_lang_intro, bench_lang_spec
bench language, benchmark, performance, testing
Copyright (c) 2007 Andreas Kupries <email@example.com>