8287044ecd 2008-02-16 aku: #!/bin/bash 8287044ecd 2008-02-16 aku: # -*- tcl -*- \ 8287044ecd 2008-02-16 aku: exec tclsh "$0" ${1+"$@"} 8287044ecd 2008-02-16 aku: 8287044ecd 2008-02-16 aku: package require csv f46458d5bd 2008-02-17 aku: foreach {in outbasic outmarker plot outbasicold} $argv break 8287044ecd 2008-02-16 aku: 8287044ecd 2008-02-16 aku: set in [open $in r] 8287044ecd 2008-02-16 aku: set ba [open $outbasic w] 8287044ecd 2008-02-16 aku: set mr [open $outmarker w] 8287044ecd 2008-02-16 aku: 8287044ecd 2008-02-16 aku: puts $ba "\# Time Memory MaxMemory" 8287044ecd 2008-02-16 aku: puts $mr "\# Time Memory" 8287044ecd 2008-02-16 aku: 8287044ecd 2008-02-16 aku: set k 0 8287044ecd 2008-02-16 aku: while {![eof $in]} { 8287044ecd 2008-02-16 aku: gets $in line 8287044ecd 2008-02-16 aku: puts -nonewline \r[incr k] 8287044ecd 2008-02-16 aku: 8287044ecd 2008-02-16 aku: if {[string match *|=|* $line]} { 8287044ecd 2008-02-16 aku: # Basic series 8287044ecd 2008-02-16 aku: regexp {^(.*)|=|} $line -> line 8287044ecd 2008-02-16 aku: foreach {x _ cba _ _ _ mba} $line break 8287044ecd 2008-02-16 aku: puts $ba [join [list $x $cba $mba] \t] 8287044ecd 2008-02-16 aku: continue 8287044ecd 2008-02-16 aku: } 8287044ecd 2008-02-16 aku: 8287044ecd 2008-02-16 aku: if {[string match *|@|* $line]} { 8287044ecd 2008-02-16 aku: # Marker series 8287044ecd 2008-02-16 aku: regexp {^(.*)|@|} $line -> line 8287044ecd 2008-02-16 aku: foreach {x _ cba} $line break 8287044ecd 2008-02-16 aku: puts $mr [join [list $x $cba] \t] 8287044ecd 2008-02-16 aku: continue 8287044ecd 2008-02-16 aku: } 8287044ecd 2008-02-16 aku: } 8287044ecd 2008-02-16 aku: 8287044ecd 2008-02-16 aku: puts "" 8287044ecd 2008-02-16 aku: close $in 8287044ecd 2008-02-16 aku: close $ba 8287044ecd 2008-02-16 aku: close $mr 8287044ecd 2008-02-16 aku: 8287044ecd 2008-02-16 aku: # Generate gnuplot control file for the series 8287044ecd 2008-02-16 aku: set f [open $plot w] 8287044ecd 2008-02-16 aku: puts $f "" 8287044ecd 2008-02-16 aku: puts $f "plot \"$outbasic\" using 1:2 title 'Memory' with steps, \\" 8287044ecd 2008-02-16 aku: puts $f " \"$outbasic\" using 1:3 title 'Max Memory' with steps" f46458d5bd 2008-02-17 aku: puts $f "pause -1" f46458d5bd 2008-02-17 aku: puts $f "" f46458d5bd 2008-02-17 aku: close $f f46458d5bd 2008-02-17 aku: f46458d5bd 2008-02-17 aku: # Generate gnuplot control file for comparison of series f46458d5bd 2008-02-17 aku: set f [open ${plot}-compare w] f46458d5bd 2008-02-17 aku: puts $f "" f46458d5bd 2008-02-17 aku: puts $f "plot \"$outbasicold\" using 1:2 title 'Memory Old' with steps, \\" f46458d5bd 2008-02-17 aku: puts $f " \"$outbasic\" using 1:2 title 'Memory New' with steps" 8287044ecd 2008-02-16 aku: puts $f "pause -1" 8287044ecd 2008-02-16 aku: puts $f "" 8287044ecd 2008-02-16 aku: close $f 8287044ecd 2008-02-16 aku: exit 8287044ecd 2008-02-16 aku: 8287044ecd 2008-02-16 aku: # Comparison to baseline 8287044ecd 2008-02-16 aku: plot "basic.dat" using 1:2 title 'Memory Base' with steps lt rgb "blue", \ 8287044ecd 2008-02-16 aku: "newbasic.dat" using 1:2 title 'Memory Current' with steps lt rgb "red", \ 8287044ecd 2008-02-16 aku: 8287044ecd 2008-02-16 aku: # Comparison to baseline via normalization - need math op (div) 8287044ecd 2008-02-16 aku: plot "basic.dat" using 1:2 title 'Memory Base' with steps lt rgb "blue", \ 8287044ecd 2008-02-16 aku: "newbasic.dat" using 1:2 title 'Memory Current' with steps lt rgb "red", \ 8287044ecd 2008-02-16 aku: 8287044ecd 2008-02-16 aku: