gen_docu: fix missing attributes, show generation time at the end
[libfirm] / scripts / statev_examples / show.pl
1 #!/usr/bin/perl -w
2 use DBI;
3
4 # Connect to database
5 $dbase = "dbi:SQLite:dbname=example1.db";
6 $dbh   = DBI->connect($dbase, "", "", { RaiseError => 1}) or die $dbh->errstr;
7
8 # Do database query
9 $querys = "
10 SELECT c.benchmark,sum(e.instructions),sum(e.reads),sum(e.writes),sum(e.spills),sum(e.reloads),sum(e.remats)
11 FROM ctx as c, ev as e
12 WHERE c.id = e.id
13 GROUP BY c.benchmark";
14 $query = $dbh->prepare($querys) or die $dbh->errstr;
15 $query->execute() or die $dbh->errstr;
16 $rows  = $query->fetchall_arrayref();
17 undef $query;
18 $dbh->disconnect();
19
20 # Format output
21 print <<'__END__';
22 \begin{tabular}{|l|r|r|r|r|}
23         \hline
24         Benchmark & Insns & Reads & Writes & Spills & Reloads & Remats
25         \hline
26 __END__
27
28 sub toM {
29         my $val = shift;
30         return sprintf("%1.1f", $val / 1000000000);
31 }
32 @col_formats = ( 'lc(@$row[0])', 'toM(@$row[1])', 'toM(@$row[2])',
33                          'toM(@$row[3])','toM(@$row[4])','toM(@$row[5])','toM(@$row[6])');
34 foreach my $row (@$rows) {
35         my @results = ();
36         foreach my $format (@col_formats) {
37                 push(@results, eval($format.';'));
38         }
39
40         print("\t".join(" & ", @results) . " \\\\\n");
41 }
42
43 print <<'__END__';
44         \hline
45 \end{tabular}
46 __END__