1
0
mirror of git://projects.qi-hardware.com/wernermisc.git synced 2024-12-23 13:14:15 +02:00
wernermisc/m1/perf/tabulate

62 lines
1.0 KiB
Bash
Executable File

#!/bin/sh
M1=`make path`
time()
{
sed '/^.*of \([0-9.]*\) seconds.*/s//\1/p;d' <data/$1/prof/$2
}
size()
{
sed '/^0*\([1-9][0-9]*\): VECTOUT.*/s//\1/p;d' <data/$1/out/$2 |
tail -n 1
}
eff()
{
sed '/^Efficiency: \([0-9.]*\)%/s//\1/p;d' <data/$1/out/$2 | tail -n 1
}
regs()
{
./eval.pl -r data/$1/out/$2 | sed '1d;s|/.*||'
# sed '/^regs: 0\//s///p;d' <data/$1/out/$2 | tail -n 1
}
sum()
{
md5sum <data/$1/expr/$2 | sed 's/ .*//'
}
eq()
{
if [ "$1" = "$2" ]; then
echo Y
else
echo N
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"
for n in `ls -1 data/ref/out`; do
ref=`sum ref $n`
new=`sum new $n`
opt=`sum opt $n`
printf "%5.1f %4d%3d%% %4d %5.1f %4d%3d%% %4d %5.1f %4d%3d%% %4d %s " \
`time ref $n` `size ref $n` `eff ref $n` `regs ref $n` \
`time new $n` `size new $n` `eff new $n` `regs new $n` \
`time opt $n` `size opt $n` `eff opt $n` `regs opt $n` \
`eq $ref $new`/`eq $ref $opt`/`eq $new $opt`
echo $n
done