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) )
+ }
+}