tcltest: do a better job of cleanup up after tests
[jimtcl.git] / tools / benchtable.tcl
blob1ac9583a6410fb3df9ec4af881b7a0607809723a
1 #!/usr/bin/env tclsh
3 # Tabulate the output of Jim's bench.tcl -batch
5 # Copyright (C) 2005 Pat Thoyts <patthoyts@users.sourceforge.net>
8 proc main {filename} {
9 set versions {}
10 array set bench {}
11 set f [open $filename r]
12 while {[gets $f data] >= 0} {
13 lappend versions [lindex $data 0]
14 set results [lindex $data 1]
15 foreach {title time} $results {
16 lappend bench($title) $time
19 close $f
21 puts "Jim benchmarks - time in milliseconds"
22 puts -nonewline [string repeat " " 21]
23 foreach v $versions {
24 puts -nonewline [format "% 6s " $v]
26 puts ""
28 foreach test [lsort [array names bench]] {
29 puts -nonewline "[format {% 20s} $test] "
30 foreach v $bench($test) {
31 if {$v eq "F"} {
32 puts -nonewline " F "
33 } else {
34 puts -nonewline [format "% 6d " $v]
37 puts ""
41 if {!$tcl_interactive} {
42 set r [catch {eval [linsert $argv 0 main]} res]
43 puts $res
44 exit $r