]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/scripts/public_html/bench.php
added homepage field in control
[helm.git] / matita / scripts / public_html / bench.php
index 4d45173badde6e9f77ecde9d4b9cf724d95da4db..1009ace52dbc4a3a7b50b7e708a9aac77004b7b7 100644 (file)
 // query ::= name "@@@" sql
 //
 $limits = array("20","50","100");
+
+$query_last_mark = "select mark from bench order by mark desc limit 1;";
+$last_mark = "";
+function set_last_mark($a) {
+ global $last_mark;
+ foreach ($a as $k => $v) {
+   $last_mark = $v;
+ }
+}
+query($query_last_mark,"set_last_mark");
+
+$query_last_svn_mark = "select revision from bench_svn where mark='$last_mark';";
+$last_svn_mark = "";
+function set_last_svn_mark($a) {
+ global $last_svn_mark;
+ foreach ($a as $k => $v) {
+   $last_svn_mark = trim($v);
+ }
+}
+query($query_last_svn_mark,"set_last_svn_mark");
+
+$query_before_last_mark = "select mark from bench where mark <> '$last_mark' order by mark desc limit 1;";
+$before_last_mark = "";
+function set_before_last_mark($a) {
+ global $before_last_mark;
+ foreach ($a as $k => $v) {
+   $before_last_mark = $v;
+ }
+}
+query($query_before_last_mark,"set_before_last_mark");
+
+$query_before_last_svn_mark = "select revision from bench_svn where mark='$before_last_mark';";
+$before_last_svn_mark = "";
+function set_before_last_svn_mark($a) {
+ global $before_last_svn_mark;
+ foreach ($a as $k => $v) {
+   $before_last_svn_mark = trim($v);
+ }
+}
+query($query_before_last_svn_mark,"set_before_last_svn_mark");
+
   
-$quey_all = urlencode("Whole content:@@@select * from bench order by mark desc***");
-$query_fail = urlencode(
-  "Number of failures@@@" .
-  "select mark, count(distinct test) as fail_no from bench where result = 'fail' group by mark order by mark desc***"
-  . "###" . 
-  "Tests failed@@@" .
-  "select distinct mark, test, result from bench where result = 'fail' order by mark desc***" 
-);
-$query_gc = urlencode(
-  "GC usage @@@" .
-  "select bench.mark, SUM(bench.time) - SUM(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***"
-  . "###" . 
-  "GC usage (opt)@@@" .
-  "select bench.mark, SUM(bench.time) - SUM(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***"
-  . "###" . 
-  "GC usage (byte)@@@" .
-  "select bench.mark, SUM(bench.time) - SUM(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***"
-  
-);
-$query_auto = urlencode(
-  "Auto (with GC)@@@select mark, SUM(bench.time) as time from bench where test='auto.ma' and options = 'gc-on' group by mark order by mark desc***"
-  . "###" . 
-  "Auto (without GC)@@@select mark, SUM(bench.time) as time from bench where test='auto.ma' and options = 'gc-off' group by mark order by mark desc***"
-    . "###" . 
-   "GC overhead@@@select bench.mark, SUM(bench.time) - SUM(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"
-);
-
-$query_csc = urlencode("Performances (byte and GC) per mark@@@select bench.mark ,bench_svn.revision as revision, SUM(bench.time) as sum_time, SUM(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"
-);
-
-$query_csc_opt = urlencode("Performances (opt and GC) per mark@@@select bench.mark,bench_svn.revision as revision, SUM(bench.time) as sum_time, SUM(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"
-);
-
-$query_total = urlencode(
-  
-"Max N@@@select COUNT(DISTINCT test) as MAX from bench group by mark order by MAX desc LIMIT 0,1;"
-  . "###" .
-  "Number of compiled tests@@@select mark, COUNT(DISTINCT test) as N from bench group by mark order by mark desc***"
-);
+$quey_all = urlencode("
+Whole content:
+@@@
+select * from bench order by mark desc***");
+
+$query_time_diff = urlencode("
+Time diff:
+@@@
+select 
+  b1.test as test, b1.timeuser as oldtime, b2.timeuser as newtime, b1.compilation as comp, b1.options as opts,
+  (b2.timeuser - b1.timeuser) as diff
+from 
+  bench as b1, bench as b2 
+where 
+  b1.test = b2.test and 
+  b1.options = b2.options and
+  b1.compilation = b2.compilation and 
+  b1.result = b2.result and 
+  b1.mark = '$before_last_mark' and b2.mark= '$last_mark' and
+  ABS(b2.timeuser - b1.timeuser) > 100
+order by diff desc***");
+
+$query_result_diff = urlencode("
+Result diff:
+@@@
+select 
+  b1.test as test, b1.result as oldresult, b2.result as newresult, b1.timeuser as oldtime, b2.timeuser as newtime, b1.compilation as comp, b1.options as opts,
+  (b2.timeuser - b1.timeuser) as diff
+from 
+  bench as b1, bench as b2 
+where 
+  b1.test = b2.test and 
+  b1.options = b2.options and
+  b1.compilation = b2.compilation and 
+  b1.result <> b2.result and 
+  b1.mark = '$before_last_mark' and b2.mark= '$last_mark'
+order by test desc***");
+
+$query_fail = urlencode("
+Number of failures
+@@@
+select 
+  mark, count(distinct test) as fail_no 
+from bench 
+where result = 'fail' group by mark order by mark desc***
+###
+Tests failed
+@@@
+select distinct mark, test, result 
+from bench 
+where result = 'fail' order by mark desc***");
+
+$query_gc = urlencode("
+GC usage 
+@@@
+select 
+  bench.mark, SUM(bench.time) - SUM(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***
+###
+GC usage (opt)
+@@@
+select 
+  bench.mark, SUM(bench.time) - SUM(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***
+###
+GC usage (byte)
+@@@
+select 
+  bench.mark, SUM(bench.time) - SUM(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***");
+
+$query_auto = urlencode("
+Auto (with GC)
+@@@
+select 
+  mark, SUM(bench.time) as time 
+from 
+  bench 
+where 
+  test='auto.ma' and options = 'gc-on' 
+group by mark 
+order by mark desc***
+### 
+Auto (without GC)
+@@@
+select 
+  mark, SUM(bench.time) as time 
+from 
+  bench 
+where 
+  test='auto.ma' and options = 'gc-off' 
+group by mark 
+order by mark desc
+***
+### 
+GC overhead
+@@@
+select 
+  bench.mark, SUM(bench.time) - SUM(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
+***");
+
+$query_csc = urlencode("
+Performances (byte and GC) per mark
+@@@
+select 
+  bench_times.mark as mark,
+  bench_svn.revision,
+  bench_times.time         as time,
+  bench_times.timeuser     as timeuser,
+  bench_times_opt.time     as time_opt,
+  bench_times_opt.timeuser as timeuser_opt,
+  bench_times.tests     as tests,
+  bench_times_opt.tests as tests_opt,
+  bench_fails.count     as fail,
+  bench_fails_opt.count as fail_opt
+from 
+  bench_svn, 
+  (select 
+    b1.mark as mark, SUM(b1.time) as time, 
+    SUM(b1.timeuser) as timeuser,COUNT(DISTINCT b1.test) as tests
+   from bench as b1
+   where 
+     b1.options = 'gc-on' and 
+     b1.compilation = 'opt' 
+     group by b1.mark) as bench_times_opt,
+  (select 
+    b1.mark as mark, SUM(b1.time) as time, 
+    SUM(b1.timeuser) as timeuser,COUNT(DISTINCT b1.test) as tests
+   from bench as b1
+   where 
+     b1.options = 'gc-on' and 
+     b1.compilation = 'byte' 
+     group by b1.mark) as bench_times,
+  (select
+    b1.mark as mark,
+    SUM(if(b1.result='fail' and b1.compilation='byte' and b1.options='gc-on',1,0))
+    as count
+   from bench as b1
+   group by b1.mark) as bench_fails,
+  (select
+    b1.mark as mark,
+    SUM(if(b1.result='fail' and b1.compilation='opt' and b1.options='gc-on',1,0))
+    as count
+   from bench as b1
+   group by b1.mark) as bench_fails_opt
+where 
+  bench_times.mark = bench_fails.mark and 
+  bench_times_opt.mark = bench_fails_opt.mark and 
+  bench_times.mark = bench_times_opt.mark and 
+  bench_svn.mark = bench_times.mark 
+  order by bench_svn.mark desc
+***");
+
+$query_total = urlencode("
+Max N
+@@@
+select 
+  COUNT(DISTINCT test) as MAX 
+from 
+  bench 
+group by mark 
+order by MAX desc 
+LIMIT 0,1;
+###
+Number of compiled tests
+@@@
+select 
+  mark, 
+  COUNT(DISTINCT test) as N 
+from 
+  bench 
+group by mark 
+order by mark desc
+***");
 
 function minus1_to_all($s){
   if ($s == "-1") 
@@ -71,6 +280,17 @@ function links_of($name,$q,$limits){
   echo "</li>";
 }
 
+function last_commits() {
+ global $last_svn_mark;
+ global $before_last_svn_mark;
+ $query = "svn log -r$last_svn_mark:$before_last_svn_mark -v svn://mowgli.cs.unibo.it/trunk/helm/software";
+ echo $query;
+ exec($query,$res);
+ echo "<pre>";
+ foreach ($res as $k => $v) { echo "$v\n"; }
+ echo "</pre>";
+}
+
 ?>
 
 <html>
@@ -79,14 +299,17 @@ function links_of($name,$q,$limits){
   </head>
   <body>
     <h1>QUERY the benchmark system</h1>
+    <h2>Last Commits</h2>
+    <? last_commits() ?>
     <h2>Common Queries</h2>
     <p>
       <ul>
       <? links_of("Broken tests",$query_fail,$limits) ?>
+      <? links_of("Time diff",$query_time_diff,$limits) ?>
+      <? links_of("Result diff",$query_result_diff,$limits) ?>
       <? links_of("Garbage collector killer",$query_gc,$limits) ?>
       <? links_of("Auto performances",$query_auto,$limits) ?>
-      <? links_of("Global performances (bytecode)",$query_csc,$limits) ?>
-      <? links_of("Global performances (nativecode)",$query_csc_opt,$limits) ?>
+      <? links_of("Global performances",$query_csc,$limits) ?>
       <? links_of("Number of compiled tests",$query_total,$limits) ?>
       <? links_of("All table contents",$quey_all,$limits) ?>
       </ul>
@@ -127,7 +350,7 @@ function links_of($name,$q,$limits){
     <td>    
       <select name="test">";
         <option value="--">--</option>";
-          <?query("select distinct test from bench;","array_to_combo");?>
+          <?query("select distinct test from bench order by test;","array_to_combo");?>
       </select>      
     </td>
   </tr>
@@ -166,11 +389,36 @@ function links_of($name,$q,$limits){
 <h2>Custom Query - raw SQL</h2>
 <form action="showquery.php" method="get">
 <table>
+<tr><td>'bench' table description:</td></tr>
 </tr>
-<? query("describe bench","printer"); ?>
+<? query("describe bench","printer"); $i=0; ?>
 </tr>
-<tr><td>
-<input type="text" size="50" name="query" value="select * from bench;"/></td>
+<tr><td></td></tr>
+<tr><td></td></tr>
+<tr><td>'bench_svn' table description:</td></tr>
+</tr>
+<? query("describe bench_svn","printer"); $i=0; ?>
+</tr>
+<tr><td></td></tr>
+<tr><td colspan="7">
+SQL (only one query, ';' if present must terminate the query, no characters allowed after it):</td></tr>
+<tr><td colspan="7">
+<textarea rows="10" cols="120" name="query"/>
+select 
+  b1.test as test, b1.timeuser as oldtime, b2.timeuser as newtime, b1.compilation as comp, b1.options as opts,
+  (b2.timeuser - b1.timeuser) as diff
+from 
+  bench as b1, bench as b2 
+where 
+  b1.test = b2.test and 
+  b1.options = b2.options and
+  b1.compilation = b2.compilation and 
+  b1.result = b2.result and 
+  b1.mark = '<?php echo $before_last_mark ?>' and b2.mark= '<?php echo $last_mark ?>' and
+  ABS(b2.timeuser - b1.timeuser) &lt; 100
+order by diff desc;
+</textarea>
+</td>
 </tr>
 <tr><td>
 <input type="submit" value="Submit" class="button" /></td>