You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2011/10/06 22:44:59 UTC

svn commit: r1179843 - in /incubator/jena/Experimental/JenaPerf/trunk: Benchmarks/LUBM/manifest.ttl src/main/scala/org/apache/jena/perf/PerfMain.scala src/main/scala/org/apache/jena/perf/PerfUnitLib.scala

Author: andy
Date: Thu Oct  6 20:44:59 2011
New Revision: 1179843

URL: http://svn.apache.org/viewvc?rev=1179843&view=rev
Log: (empty)

Modified:
    incubator/jena/Experimental/JenaPerf/trunk/Benchmarks/LUBM/manifest.ttl
    incubator/jena/Experimental/JenaPerf/trunk/src/main/scala/org/apache/jena/perf/PerfMain.scala
    incubator/jena/Experimental/JenaPerf/trunk/src/main/scala/org/apache/jena/perf/PerfUnitLib.scala

Modified: incubator/jena/Experimental/JenaPerf/trunk/Benchmarks/LUBM/manifest.ttl
URL: http://svn.apache.org/viewvc/incubator/jena/Experimental/JenaPerf/trunk/Benchmarks/LUBM/manifest.ttl?rev=1179843&r1=1179842&r2=1179843&view=diff
==============================================================================
Binary files - no diff available.

Modified: incubator/jena/Experimental/JenaPerf/trunk/src/main/scala/org/apache/jena/perf/PerfMain.scala
URL: http://svn.apache.org/viewvc/incubator/jena/Experimental/JenaPerf/trunk/src/main/scala/org/apache/jena/perf/PerfMain.scala?rev=1179843&r1=1179842&r2=1179843&view=diff
==============================================================================
--- incubator/jena/Experimental/JenaPerf/trunk/src/main/scala/org/apache/jena/perf/PerfMain.scala (original)
+++ incubator/jena/Experimental/JenaPerf/trunk/src/main/scala/org/apache/jena/perf/PerfMain.scala Thu Oct  6 20:44:59 2011
@@ -45,7 +45,8 @@ object PerfMain {
       enact(new ActionProcessorCollector(collector0, monitor), manifest.actionWarmUp)
       println("Collect results")
       enact(new ActionProcessorCollector(collector, monitor), manifest.actionTimedRun)
-      report(reporter, collector)
+      //report(reporter, collector)
+      report(new ReporterAgg(), collector)
     }
     
     println("Finish @ "+now())

Modified: incubator/jena/Experimental/JenaPerf/trunk/src/main/scala/org/apache/jena/perf/PerfUnitLib.scala
URL: http://svn.apache.org/viewvc/incubator/jena/Experimental/JenaPerf/trunk/src/main/scala/org/apache/jena/perf/PerfUnitLib.scala?rev=1179843&r1=1179842&r2=1179843&view=diff
==============================================================================
--- incubator/jena/Experimental/JenaPerf/trunk/src/main/scala/org/apache/jena/perf/PerfUnitLib.scala (original)
+++ incubator/jena/Experimental/JenaPerf/trunk/src/main/scala/org/apache/jena/perf/PerfUnitLib.scala Thu Oct  6 20:44:59 2011
@@ -1,7 +1,8 @@
 package org.apache.jena.perf
 import java.util.Date
 import scala.collection.mutable.ArrayBuffer
-  import java.util.concurrent.atomic.AtomicInteger 
+import java.util.concurrent.atomic.AtomicInteger 
+import scala.collection.mutable.{Map => MMap}
 
 /** A collection of commonly used implementations of PerfUnit interfaces */  
 
@@ -112,3 +113,23 @@ class ReporterPrint extends Reporter {
     }
   }
 }
+
+class ReporterAgg extends Reporter {
+  case class Summary(var num:Int, var total:Long, var min:Long, var max:Long) 
+  
+  // Need unique id for an action.
+  def report(collector: Collector): Unit = {
+    type key = String
+    val mb = MMap[key, Summary]()
+    for (runUnit <- collector.results) {
+      val s = mb.getOrElseUpdate(runUnit.action.name, Summary(0,0,0,0))
+      s.num += 1
+      val x = runUnit.result.elapsed
+      s.total += x
+      s.min = if ( x < s.min ) x else s.min
+      s.max = if ( x > s.min ) x else s.max
+    }
+    
+    mb.foreach(x => printf("%s %d %d %d %d\n", x._1, x._2.num, x._2.total, x._2.min, x._2.max) ) 
+  }
+}