1
0
mirror of git://projects.qi-hardware.com/wernermisc.git synced 2024-11-15 12:55:20 +02:00

m1/perf/tabulate: added HTML mode with highlighting (-h)

This commit is contained in:
Werner Almesberger 2011-09-22 03:23:15 -03:00
parent c5df76a7b9
commit 69cfc407d5

View File

@ -45,6 +45,107 @@ eq()
} }
trim()
{
sed 's/[^0-9].*//'
}
cfield()
{
echo "<TD bgcolor=\"$1\">$2"
}
rank()
{
op=$1
txt=`$2 $3 $6`
a=`echo "$txt" | trim`
b=`$2 $4 $6 | trim`
c=`$2 $5 $6 | trim`
if [ $a $op $b -a $a $op $c ]; then
col=$green
elif [ $b $op $a -a $c $op $a ]; then
col=$red
else
col=white
fi
echo "<TD bgcolor=\"$col\" align="right">$txt$7"
}
red="#ffb0b0"
green="#a0ffa0"
html=false
if [ $1 = -h ]; then
html=true
shift
fi
if $html; then
cat <<EOF
<HTML>
<TITLE>Scheduler comparison</TITLE>
<BODY>
<TABLE bgcolor="#f0f0f0">
<TR>
<TH colspan="5" align="left">Original</TH>
<TH colspan="5" align="left">New (no optimizer)</TH>
<TH colspan="5" align="left">New (LCPF)</TH>
<TH align="left">Equiv</TH>
<TH align="left">Name</TH>
<TR>
<TH>Time</TH><TH>Size</TH><TH>Eff</TH><TH>Regs</TH>
<TH>&nbsp;</TH>
<TH>Time</TH><TH>Size</TH><TH>Eff</TH><TH>Regs</TH>
<TH>&nbsp;</TH>
<TH>Time</TH><TH>Size</TH><TH>Eff</TH><TH>Regs</TH>
<TH>&nbsp;</TH>
EOF
for n in `ls -1 data/ref/out`; do
ref=`sum ref $n`
new=`sum new $n`
opt=`sum opt $n`
same=`eq $ref $new`/`eq $ref $opt`/`eq $new $opt`
echo "<TR>"
rank -lt time ref new opt $n
rank -lt size ref new opt $n
rank -gt eff ref new opt $n %
rank -lt regs ref new opt $n
echo "<TD>"
rank -lt time new ref opt $n
rank -lt size new ref opt $n
rank -gt eff new ref opt $n %
rank -lt regs new ref opt $n
echo "<TD>"
rank -lt time opt ref new $n
rank -lt size opt ref new $n
rank -gt eff opt ref new $n %
rank -lt regs opt ref new $n
echo "<TD>"
if [ $same = Y/Y/Y ]; then
cfield $green $same
else
cfield $red $same
fi
cfield white "$n"
done
cat <<EOF
</TABLE>
</BODY>
</HTML>
EOF
exit
fi
echo "Original New sched (no opt) New sched (LCPF) Equiv Name" echo "Original New sched (no opt) New sched (LCPF) Equiv Name"
echo "Time Size Eff Regs Time Size Eff Regs Time Size Eff Regs" echo "Time Size Eff Regs Time Size Eff Regs Time Size Eff Regs"