############################################################################### # # microBenchmarkRunner.eagle -- # # Extensible Adaptable Generalized Logic Engine (Eagle) # Micro-Benchmarks for Tcl/Eagle # # Copyright (c) 2007-2010 by Joe Mistachkin. All rights reserved. # # See the file "license.terms" for information on usage and redistribution of # this file, and for a DISCLAIMER OF ALL WARRANTIES. # # RCS: @(#) $Id: $ # ############################################################################### source [file join [file dirname [info script]] tclHelper.eagle] ############################################################################### set root(tcl) {C:\dev\Tcl} set root(ActiveTcl) {C:\dev\Tcl\ActiveTcl\bin} set root(Eagle) {C:\dev\mistachkin\LKG} set eagle EagleShell.exe ############################################################################### set shells(Eagle2008,NetFx20) [file join $root(Eagle) Eagle2008 bin $eagle] set shells(Eagle2009,NetFx20) [file join $root(Eagle) Eagle2009 bin $eagle] set shells(Eagle2010,NetFx20) [file join $root(Eagle) EagleNetFx20 bin $eagle] set shells(Eagle2010,NetFx40) [file join $root(Eagle) EagleNetFx40 bin $eagle] ############################################################################### set shells(Eagle2008,Mono26) $shells(Eagle2008,NetFx20) set shells(Eagle2009,Mono26) $shells(Eagle2009,NetFx20) set shells(Eagle2010,Mono26) $shells(Eagle2010,NetFx20) ############################################################################### set shells(ActiveTcl8.4.19.3.291941) [file join $root(ActiveTcl) tclsh84.exe] set shells(ActiveTcl8.5.8.1.291945) [file join $root(ActiveTcl) tclsh85.exe] set shells(ActiveTcl8.6.0.0b3.292682) [file join $root(ActiveTcl) tclsh86.exe] set shells(Tcl_HEAD) [file join $root(tcl) release8.6 bin tclsh86t.exe] ############################################################################### set path [file dirname [info script]] set mono [file join $path runMono.bat] set script [file join $path microBenchmarks.eagle] ############################################################################### foreach name [lsort [array names shells]] { set shell $shells($name) set command [list] if {[file extension $shell] eq ".bat"} then { lappend command cmd.exe /k } if {[string match -nocase *mono* $name]} then { lappend command [file nativename [file normalize $mono]] } lappend command [file nativename [file normalize $shell]] if {[string match -nocase *eagle* $name]} then { lappend command -file } lappend command [file nativename [file normalize $script]] set logFile [file nativename [file normalize [file join $path \ [appendArgs [string map [list , _ . _] $name] .txt]]]] lappend command $logFile puts stdout $command puts stdout [time {set output [eval exec $command]}] puts stdout "" }