Have bench/gspn-ssp/tools/sum working directly from the *.log files, and improve its output.
This commit is contained in:
parent
56d1dbc610
commit
360a5729be
6 changed files with 76 additions and 7111 deletions
11
ChangeLog
11
ChangeLog
|
|
@ -1,3 +1,14 @@
|
||||||
|
2008-08-27 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||||||
|
|
||||||
|
* bench/gspn-ssp/tools/sum: Output WCSsym* and WCSasym* on
|
||||||
|
separate lines. Canonize the names used as keys to that
|
||||||
|
WCSsymN appears always in the same column as WCSasymN. Read the
|
||||||
|
*.log files directly, we don't need the *.all files anymore.
|
||||||
|
* bench/gspn-ssp/tools/collate: Delete.
|
||||||
|
* bench/gspn-ssp/tools/Makefile.am: Adjust.
|
||||||
|
* bench/gspn-ssp/tools/bench-create: Do not output rules to
|
||||||
|
build *.all files.
|
||||||
|
|
||||||
2008-08-26 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
2008-08-26 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||||||
|
|
||||||
Build the benchmark in bench/gspn-ssp/ using makefiles, so we
|
Build the benchmark in bench/gspn-ssp/ using makefiles, so we
|
||||||
|
|
|
||||||
|
|
@ -31,15 +31,13 @@ EXTRA_DIST = \
|
||||||
templates/gen
|
templates/gen
|
||||||
|
|
||||||
run_bench = tools/runbench
|
run_bench = tools/runbench
|
||||||
collate = tools/collate
|
|
||||||
|
|
||||||
dist_noinst_SCRIPTS = \
|
dist_noinst_SCRIPTS = \
|
||||||
tools/bench-create \
|
tools/bench-create \
|
||||||
tools/modelgen-create \
|
tools/modelgen-create \
|
||||||
tools/trans2prop.pl \
|
tools/trans2prop.pl \
|
||||||
tools/sum \
|
tools/sum \
|
||||||
$(run_bench) \
|
$(run_bench)
|
||||||
$(collate)
|
|
||||||
|
|
||||||
nodist_check_DATA = $(RESULTS)
|
nodist_check_DATA = $(RESULTS)
|
||||||
|
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -42,22 +42,15 @@ for i in *; do
|
||||||
check="${check## } $ltl2tgba"
|
check="${check## } $ltl2tgba"
|
||||||
|
|
||||||
resall=`echo results/$i.$check | tr -d ' ' `
|
resall=`echo results/$i.$check | tr -d ' ' `
|
||||||
all=
|
|
||||||
for fi in `seq 1 $F`; do
|
for fi in `seq 1 $F`; do
|
||||||
res=`echo $resall-$fi.log | tr -d ' ' `
|
res=`echo $resall-$fi.log | tr -d ' ' `
|
||||||
echo "$res: $Ffile"
|
echo "$res: $Ffile"
|
||||||
echo " \$(run_bench) $Ffile $fi '-$check' $i > \$@.tmp"
|
echo " \$(run_bench) $Ffile $fi '-$check' $i > \$@.tmp"
|
||||||
echo " mv \$@.tmp \$@"
|
echo " mv \$@.tmp \$@"
|
||||||
all="$all $res"
|
allres="$allres $res"
|
||||||
done
|
done
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo "$resall.all: $all"
|
|
||||||
echo " \$(collate) $all > \$@.tmp"
|
|
||||||
echo " mv \$@.tmp \$@"
|
|
||||||
echo
|
|
||||||
|
|
||||||
allres="$allres $resall.all"
|
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
cd ..
|
cd ..
|
||||||
|
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
for f in "$@"; do
|
|
||||||
sed -n '/^$/n;
|
|
||||||
/^Command exited with non-zero status/n;
|
|
||||||
2,$s/[^0-9.]//g;
|
|
||||||
s/^[.]//;
|
|
||||||
1x;
|
|
||||||
2,$H;
|
|
||||||
$x;
|
|
||||||
$s/\n/,/g;
|
|
||||||
$p' "$f"
|
|
||||||
done
|
|
||||||
|
|
@ -98,6 +98,7 @@ my %C = (
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
|
||||||
|
$C{e2a} = $C{e4};
|
||||||
$C{e45} = $C{e5};
|
$C{e45} = $C{e5};
|
||||||
$C{e54} = $C{e5};
|
$C{e54} = $C{e5};
|
||||||
$C{e5L} = $C{e5};
|
$C{e5L} = $C{e5};
|
||||||
|
|
@ -111,35 +112,67 @@ my %order = (e2 => 2, e6 => 3, e5 => 4, e4 => 5);
|
||||||
my %H;
|
my %H;
|
||||||
my %S;
|
my %S;
|
||||||
my %P;
|
my %P;
|
||||||
|
my %Canon;
|
||||||
|
my %Canons;
|
||||||
|
|
||||||
|
if (0 == @ARGV)
|
||||||
|
{
|
||||||
|
@ARGV = glob "results/*.log";
|
||||||
|
}
|
||||||
|
|
||||||
while (<>)
|
while (<>)
|
||||||
{
|
{
|
||||||
my @l = split (/,/);
|
my @l = ();
|
||||||
|
|
||||||
|
chomp;
|
||||||
|
push @l, $_;
|
||||||
|
while (! eof)
|
||||||
|
{
|
||||||
|
$_ = <>;
|
||||||
|
chomp;
|
||||||
|
if (length > 0 && !/^Command exited with non-zero status/)
|
||||||
|
{
|
||||||
|
s/[^0-9.]//g if $. > 1;
|
||||||
|
s/^[.]//;
|
||||||
|
push @l, $_;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
close ARGV; # reset line numbering
|
||||||
|
|
||||||
push @l, ($l[-1] + $l[-2] + $l[-6] * 4096)/1024;
|
push @l, ($l[-1] + $l[-2] + $l[-6] * 4096)/1024;
|
||||||
|
|
||||||
my $e = shift @l;
|
my $e = shift @l;
|
||||||
$e =~ s/non empty/non e./;
|
$e =~ s/non empty/non e./;
|
||||||
|
|
||||||
$ARGV =~ /([\w.]+)\.(e.*)-f\.all$/;
|
$ARGV =~ /([\w.]+)\.(e.*)-f-\d+\.log$/;
|
||||||
my $name = $1;
|
my $name = $1;
|
||||||
my $meth = $2;
|
(my $meth = $2) =~ s/-//g;
|
||||||
|
my $namea = "$name-$meth";
|
||||||
|
|
||||||
|
$meth = $meth.'a' if $name =~ /asym/;
|
||||||
|
|
||||||
$P{$name}{$e}{$meth} = 1;
|
$P{$name}{$e}{$meth} = 1;
|
||||||
|
|
||||||
if (!exists $H{$meth}{$ARGV}{$e})
|
my $namec = $name;
|
||||||
|
$namec =~ s/asym/sym/;
|
||||||
|
$namec =~ s/\.rg//;
|
||||||
|
$Canon{$meth}{$namec} = $namea;
|
||||||
|
$Canons{$namec} = 1;
|
||||||
|
|
||||||
|
if (!exists $H{$meth}{$namec}{$e})
|
||||||
{
|
{
|
||||||
$H{$meth}{$ARGV}{$e} = [1, @l];
|
$H{$meth}{$namec}{$e} = [1, @l];
|
||||||
$S{$meth} = 1 + @l;
|
$S{$meth} = 1 + @l;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$H{$meth}{$ARGV}{$e}->[0]++;
|
$H{$meth}{$namec}{$e}->[0]++;
|
||||||
for (my $i = 0; $i < @l; ++$i)
|
for (my $i = 0; $i < @l; ++$i)
|
||||||
{
|
{
|
||||||
$H{$meth}{$ARGV}{$e}->[$i + 1] += $l[$i];
|
$H{$meth}{$namec}{$e}->[$i + 1] += $l[$i];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sub model_sort ($$)
|
sub model_sort ($$)
|
||||||
|
|
@ -147,8 +180,10 @@ sub model_sort ($$)
|
||||||
my ($a, $b) = @_;
|
my ($a, $b) = @_;
|
||||||
$a =~ s/\.rg//;
|
$a =~ s/\.rg//;
|
||||||
$a =~ s/.*(\d)$/$1$&/;
|
$a =~ s/.*(\d)$/$1$&/;
|
||||||
|
$a =~ s/asym/sym/;
|
||||||
$b =~ s/\.rg//;
|
$b =~ s/\.rg//;
|
||||||
$b =~ s/.*(\d)$/$1$&/;
|
$b =~ s/.*(\d)$/$1$&/;
|
||||||
|
$b =~ s/asym/sym/;
|
||||||
return $a cmp $b;
|
return $a cmp $b;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -177,11 +212,6 @@ if (exists $ENV{FORTETABLE})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#if not exists $filter{$C{$meth}->[$i]};
|
|
||||||
|
|
||||||
exit 0;
|
exit 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -189,18 +219,19 @@ if (exists $ENV{FORTETABLE})
|
||||||
|
|
||||||
foreach my $meth (sort keys %H)
|
foreach my $meth (sort keys %H)
|
||||||
{
|
{
|
||||||
|
my @models = sort keys %Canons;
|
||||||
|
|
||||||
printf "%21s", "";
|
printf "%21s", "";
|
||||||
foreach my $n (sort keys %{$H{$meth}})
|
foreach my $m (@models)
|
||||||
{
|
{
|
||||||
$n =~ s,.*/,,;
|
my $n = $Canon{$meth}{$m} || "";
|
||||||
$n =~ s,\.all,,;
|
$n .= " " x ((16-length($n))/2);
|
||||||
$n =~ s,-f,,;
|
|
||||||
printf "%18s", $n;
|
printf "%18s", $n;
|
||||||
}
|
}
|
||||||
print "\n";
|
print "\n";
|
||||||
|
|
||||||
printf "%21s", "";
|
printf "%21s", "";
|
||||||
foreach my $n (sort keys %{$H{$meth}})
|
foreach my $n (@models)
|
||||||
{
|
{
|
||||||
my $x = 2;
|
my $x = 2;
|
||||||
foreach my $k (keys %{$H{$meth}{$n}})
|
foreach my $k (keys %{$H{$meth}{$n}})
|
||||||
|
|
@ -215,7 +246,7 @@ foreach my $meth (sort keys %H)
|
||||||
for (my $i = 0; $i < $S{$meth}; ++$i)
|
for (my $i = 0; $i < $S{$meth}; ++$i)
|
||||||
{
|
{
|
||||||
printf "%-22s", $C{$meth}->[$i];
|
printf "%-22s", $C{$meth}->[$i];
|
||||||
foreach my $n (sort keys %{$H{$meth}})
|
foreach my $n (@models)
|
||||||
{
|
{
|
||||||
my $x = 2;
|
my $x = 2;
|
||||||
foreach my $k (keys %{$H{$meth}{$n}})
|
foreach my $k (keys %{$H{$meth}{$n}})
|
||||||
|
|
@ -223,7 +254,19 @@ foreach my $meth (sort keys %H)
|
||||||
my @l = @{$H{$meth}{$n}{$k}};
|
my @l = @{$H{$meth}{$n}{$k}};
|
||||||
if ($i)
|
if ($i)
|
||||||
{
|
{
|
||||||
printf "%8.2f ", $l[$i]/$l[0];
|
my $val = $l[$i]/$l[0];
|
||||||
|
if ($val < 100000)
|
||||||
|
{
|
||||||
|
printf "%8.2f ", $val;
|
||||||
|
}
|
||||||
|
elsif ($val < 1000000)
|
||||||
|
{
|
||||||
|
printf "%8.1f ", $val;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
printf "%8d ", $val;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue