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:
parent
c5df76a7b9
commit
69cfc407d5
101
m1/perf/tabulate
101
m1/perf/tabulate
@ -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> </TH>
|
||||||
|
<TH>Time</TH><TH>Size</TH><TH>Eff</TH><TH>Regs</TH>
|
||||||
|
<TH> </TH>
|
||||||
|
<TH>Time</TH><TH>Size</TH><TH>Eff</TH><TH>Regs</TH>
|
||||||
|
<TH> </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"
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user