1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
#!/bin/bash
# -*- tcl -*- \
exec tclsh "$0" ${1+"$@"}
package require csv
foreach {in outbasic outmarker plot outbasicold} $argv break
set in [open $in r]
set ba [open $outbasic w]
set mr [open $outmarker w]
puts $ba "\# Time Memory MaxMemory"
puts $mr "\# Time Memory"
set k 0
while {![eof $in]} {
gets $in line
#puts -nonewline \r[incr k]
if {[string match *|=|* $line]} {
# Basic series
regexp {^(.*)\|=\|} $line -> line
foreach {x _ cba _ _ _ mba} $line break
puts $ba [join [list $x $cba $mba] \t]
continue
}
if {[string match *|@|* $line]} {
# Marker series
regexp {^(.*)\|@\|} $line -> line
foreach {x _ cba} $line break
puts $mr [join [list $x $cba] \t]
continue
}
}
puts ""
close $in
close $ba
close $mr
# Generate gnuplot control file for the series
set f [open $plot w]
puts $f ""
puts $f "plot \"$outbasic\" using 1:2 title 'Memory' with steps, \\"
puts $f " \"$outbasic\" using 1:3 title 'Max Memory' with steps"
puts $f "pause -1"
puts $f ""
close $f
# Generate gnuplot control file for comparison of series
set f [open ${plot}-compare w]
puts $f ""
puts $f "plot \"$outbasicold\" using 1:2 title 'Memory Old' with steps, \\"
puts $f " \"$outbasic\" using 1:2 title 'Memory New' with steps"
puts $f "pause -1"
puts $f ""
close $f
exit
# Comparison to baseline
plot "basic.dat" using 1:2 title 'Memory Base' with steps lt rgb "blue", \
"newbasic.dat" using 1:2 title 'Memory Current' with steps lt rgb "red", \
# Comparison to baseline via normalization - need math op (div)
plot "basic.dat" using 1:2 title 'Memory Base' with steps lt rgb "blue", \
"newbasic.dat" using 1:2 title 'Memory Current' with steps lt rgb "red", \
|