diff options
Diffstat (limited to 'tools')
-rw-r--r-- | tools/benchtable.tcl | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/tools/benchtable.tcl b/tools/benchtable.tcl new file mode 100644 index 0000000..0e47006 --- /dev/null +++ b/tools/benchtable.tcl @@ -0,0 +1,48 @@ +#!/usr/bin/env tclsh +# +# Tabulate the output of Jim's bench.tcl -batch +# +# Copyright (C) 2005 Pat Thoyts <patthoyts@users.sourceforge.net> +# +# $Id: benchtable.tcl,v 1.1 2005/03/09 11:57:50 patthoyts Exp $ + +proc main {filename} { + set versions {} + array set bench {} + set f [open $filename r] + while {![eof $f]} { + gets $f data + lappend versions [lindex $data 0] + set results [lindex $data 1] + foreach {title time} $results { + lappend bench($title) $time + } + } + close $f + + puts "Jim benchmarks - time in milliseconds" + puts -nonewline [string repeat " " 21] + foreach v $versions { + puts -nonewline [format "% 6s " $v] + } + puts "" + + foreach test [array names bench] { + puts -nonewline "[format {% 20s} $test] " + foreach v $bench($test) { + if {$v eq "F"} { + puts -nonewline " F " + } else { + puts -nonewline [format "% 6d " [expr {$v / 1000}]] + } + } + puts "" + } +} + +if {!$tcl_interactive} { + set r [catch {eval [linsert $argv 0 main]} res] + puts $res + exit $r +} +
\ No newline at end of file |