]> matita.cs.unibo.it Git - helm.git/blob - helm/matita/scripts/public_html/bench.php
test branch
[helm.git] / helm / matita / scripts / public_html / bench.php
1 <?php require("common.php"); 
2   
3 // syntax
4 //
5 // queries ::= query | query "###" queries
6 // query ::= name "@@@" sql
7 //
8 $limits = array("20","50","100");
9   
10 $quey_all = urlencode("Whole content:@@@select * from bench order by mark desc***");
11 $query_fail = urlencode(
12   "Number of failures@@@" .
13   "select mark, count(distinct test) as fail_no from bench where result = 'fail' group by mark order by mark desc***"
14   . "###" . 
15   "Tests failed@@@" .
16   "select distinct mark, test, result from bench where result = 'fail' order by mark desc***" 
17 );
18 $query_gc = urlencode(
19   "GC usage @@@" .
20   "select bench.mark, SEC_TO_TIME(SUM(TIME_TO_SEC(bench.time)) - SUM(TIME_TO_SEC(bench1.time))) as gc_hoverhead from bench, bench as bench1 where bench.mark = bench1.mark and bench.test = bench1.test and bench.options = 'gc-on' and bench1.options = 'gc-off' and bench.compilation = bench1.compilation group by mark***"
21   . "###" . 
22   "GC usage (opt)@@@" .
23   "select bench.mark, SEC_TO_TIME(SUM(TIME_TO_SEC(bench.time)) - SUM(TIME_TO_SEC(bench1.time))) as gc_hoverhead from bench, bench as bench1 where bench.mark = bench1.mark and bench.test = bench1.test and bench.options = 'gc-on' and bench1.options = 'gc-off' and bench.compilation = bench1.compilation and bench.compilation = 'opt' group by mark***"
24   . "###" . 
25   "GC usage (byte)@@@" .
26   "select bench.mark, SEC_TO_TIME(SUM(TIME_TO_SEC(bench.time)) - SUM(TIME_TO_SEC(bench1.time))) as gc_hoverhead from bench, bench as bench1 where bench.mark = bench1.mark and bench.test = bench1.test and bench.options = 'gc-on' and bench1.options = 'gc-off' and bench.compilation = bench1.compilation and bench.compilation = 'byte' group by mark***"
27   
28 );
29 $query_auto = urlencode(
30   "Auto (with GC)@@@select mark, SEC_TO_TIME(SUM(TIME_TO_SEC(bench.time))) as time from bench where test='auto.ma' and options = 'gc-on' group by mark order by mark desc***"
31   . "###" . 
32   "Auto (without GC)@@@select mark, SEC_TO_TIME(SUM(TIME_TO_SEC(bench.time))) as time from bench where test='auto.ma' and options = 'gc-off' group by mark order by mark desc***"
33   #  . "###" . 
34   # "GC overhead@@@select bench.mark, SEC_TO_TIME(SUM(TIME_TO_SEC(bench.time)) - SUM(TIME_TO_SEC(bench1.time))) as gc_hoverhead from bench, bench as bench1 where bench.mark = bench1.mark and bench.test = bench1.test and bench.options = 'gc-on' and bench1.options = 'gc-off' and bench.compilation = bench1.compilation and bench.test = 'auto.ma' group by mark"
35 );
36
37 $query_csc = urlencode("Performances (byte and GC) per mark@@@select bench.mark ,bench_svn.revision as revision, SEC_TO_TIME(SUM(TIME_TO_SEC(bench.time))) as sum_time, SEC_TO_TIME(SUM(TIME_TO_SEC(bench.timeuser))) as sum_timeuser from bench, bench_svn where bench.options = 'gc-on' and bench.compilation = 'byte' and bench_svn.mark = bench.mark group by bench.mark order by bench.mark desc"
38 );
39
40 $query_csc_opt = urlencode("Performances (opt and GC) per mark@@@select bench.mark,bench_svn.revision as revision, SEC_TO_TIME(SUM(TIME_TO_SEC(bench.time))) as sum_time, SEC_TO_TIME(SUM(TIME_TO_SEC(bench.timeuser))) as sum_timeuser from bench, bench_svn where bench.options = 'gc-on' and bench.compilation = 'opt' and bench_svn.mark = bench.mark group by bench.mark order by bench.mark desc"
41 );
42
43 $query_total = urlencode(
44   
45 "Max N@@@select COUNT(DISTINCT test) as MAX from bench group by mark order by MAX desc LIMIT 0,1;"
46   . "###" .
47   "Number of compiled tests@@@select mark, COUNT(DISTINCT test) as N from bench group by mark order by mark desc***"
48 );
49
50 function minus1_to_all($s){
51   if ($s == "-1") 
52     return "all";
53   else 
54     return $s;
55 }
56
57 function links_of($name,$q,$limits){
58   echo "<li>$name :&nbsp;&nbsp;&nbsp;";
59   if (strpos($q, urlencode("***")) === false) {
60     echo "<a href=\"showquery.php?query=$q;\">all</a>";
61   } else {
62     foreach($limits as $l) {
63       $q1 = str_replace(urlencode("***"), " LIMIT 0,$l", $q);
64       echo "<a href=\"showquery.php?query=$q1;\">" . 
65             minus1_to_all($l) . "</a>&nbsp;&nbsp;";
66     }
67       $q1 = str_replace(urlencode("***"), " ", $q);
68       echo "<a href=\"showquery.php?query=$q1;\">" . 
69             minus1_to_all("-1") . "</a>&nbsp;&nbsp;";
70   }
71   echo "</li>";
72 }
73
74 ?>
75
76 <html>
77   <head>
78   <link type="text/css" rel="stylesheet" href="style.css"/>
79   </head>
80   <body>
81     <h1>QUERY the benchmark system</h1>
82     <h2>Common Queries</h2>
83     <p>
84       <ul>
85       <? links_of("Broken tests",$query_fail,$limits) ?>
86       <? links_of("Garbage collector killer",$query_gc,$limits) ?>
87       <? links_of("Auto performances",$query_auto,$limits) ?>
88       <? links_of("Global performances (bytecode)",$query_csc,$limits) ?>
89       <? links_of("Global performances (nativecode)",$query_csc_opt,$limits) ?>
90       <? links_of("Number of compiled tests",$query_total,$limits) ?>
91       <? links_of("All table contents",$quey_all,$limits) ?>
92       </ul>
93     </p>
94     <h2>Custom Query</h2>
95     <form action="composequery.php" method="get">
96     <table>
97   <tr>
98     <td>Marks:</td>
99     <td> 
100       <? array_to_combo("mark",
101             query("select distinct mark from bench order by mark desc;")); ?>
102     </td>
103   </tr>
104   <tr>
105     <td>Compilations:</td>
106     <td> 
107       <? array_to_combo("compilation",
108            query("select distinct compilation from bench;")); ?>
109     </td>
110   </tr>
111   <tr>
112     <td>Options:</td>
113     <td>  
114       <?array_to_combo("options",query("select distinct options from bench;"));?>
115     </td>
116   </tr>
117   <tr>
118     <td>Tests:</td>
119     <td>    
120       <? array_to_combo("test",query("select distinct test from bench;")); ?>
121     </td>
122   </tr>
123   <tr>
124     <td>Test results:</td>
125     <td>
126       <? array_to_combo("result",query("select distinct result from bench;")); ?>
127     </td>
128   </tr>
129   <tr>
130     <td>Group By: </td>
131     <td>
132       <? array_to_combo("groupby",array(array("mark","options"))); ?>
133     </td>
134   </tr>
135   <tr>
136     <td>Limit: </td>
137     <td>
138       <? array_to_combo("limit",array($limits)); ?>
139     </td>
140   </tr>
141   <tr>
142     <td><input type="submit" value="Submit" class="button" /></td>
143   </tr>
144  </table>
145 </form>
146 </body>
147 </html>