1
0
mirror of git://projects.qi-hardware.com/wernermisc.git synced 2024-12-18 17:19:47 +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 "Time Size Eff Regs Time Size Eff Regs Time Size Eff Regs"