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/09/29 00:40:58 UTC

svn commit: r1177094 - in /incubator/jena/Experimental/JenaPerf/trunk: classes/org/ classes/org/apache/ classes/org/apache/jena/ classes/org/apache/jena/perf/ src/main/scala/org/apache/jena/perf/

Author: andy
Date: Wed Sep 28 22:40:58 2011
New Revision: 1177094

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

Added:
    incubator/jena/Experimental/JenaPerf/trunk/classes/org/
    incubator/jena/Experimental/JenaPerf/trunk/classes/org/apache/
    incubator/jena/Experimental/JenaPerf/trunk/classes/org/apache/jena/
    incubator/jena/Experimental/JenaPerf/trunk/classes/org/apache/jena/perf/
Modified:
    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/PerfUnit.scala

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=1177094&r1=1177093&r2=1177094&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 Wed Sep 28 22:40:58 2011
@@ -16,14 +16,19 @@ object PerfMain {
       
       val actions: List[Action] = List ( action1, action2 )
       
+      // Does Action+Result need a name?
+      //   RunUnit?
+      //   Aftermath?! 
+      //   Result=>Conclusion 
+      //   Result=>PunchLine
+      
       actions.foreach( a => collector.acc(a, a.perform ()) )
       
       println("Acc = "+collector.results.length)
-      for ( (action,result) <- collector.results )
+      for ( runUnit <- collector.results )
       {
-        println("**"+action.name)
-        println(result.outcome)
-        println(result.elapsed)
+        println("**"+runUnit.action.name)
+        printf("%s[%d] : %-10s %dms\n", runUnit.name, runUnit.id, runUnit.result.outcome, runUnit.result.elapsed)
       }
       println("Done") 
     }
@@ -44,6 +49,7 @@ class ActionByScheme(val name: String, u
 trait ActionQuery extends Action {
   def exec(ds:Dataset, query:Query) : Result = { 
     import com.hp.hpl.jena.sparql.util.QueryExecUtils
+    
     val start = System.currentTimeMillis() ;  
     val startDate = new Date()
     val qexec = QueryExecutionFactory.create(query, ds)
@@ -54,7 +60,8 @@ trait ActionQuery extends Action {
     
     val finish = System.currentTimeMillis() ;
     val finishDate = new Date()
-    new Result(Success, finish-start)
+    
+    Result(Success, finish-start, startDate, finishDate)
   }
 }
 

Modified: incubator/jena/Experimental/JenaPerf/trunk/src/main/scala/org/apache/jena/perf/PerfUnit.scala
URL: http://svn.apache.org/viewvc/incubator/jena/Experimental/JenaPerf/trunk/src/main/scala/org/apache/jena/perf/PerfUnit.scala?rev=1177094&r1=1177093&r2=1177094&view=diff
==============================================================================
--- incubator/jena/Experimental/JenaPerf/trunk/src/main/scala/org/apache/jena/perf/PerfUnit.scala (original)
+++ incubator/jena/Experimental/JenaPerf/trunk/src/main/scala/org/apache/jena/perf/PerfUnit.scala Wed Sep 28 22:40:58 2011
@@ -25,26 +25,44 @@ case object NoOutcome extends Outcome("n
 //case object Failure extends Outcome
 //case object NoOutcome extends Outcome
 
-
 /** Details, details */ 
-case class Result(outcome:Outcome, elapsed:Long = -1, startDT:Option[Date] = None, finishDT:Option[Date] = None)
+case class Result(outcome:Outcome, elapsed:Long, startDT:Option[Date] = None, finishDT:Option[Date] = None )
+{
+  def this(outcome:Outcome) = this(outcome, -1, None, None)
+}
+
+object Result {
+  def apply(outcome:Outcome, elapsed:Long, startDT:Date, finishDT:Date) = 
+    new Result(outcome, elapsed, Some(startDT), Some(finishDT))
+  def apply(outcome:Outcome, startDT:Date, finishDT:Date) = 
+    new Result(outcome, -1, Some(startDT), Some(finishDT))
+  def apply(outcome:Outcome, elapsed:Long) = 
+    new Result(outcome, elapsed, None, None)
+  def apply(outcome:Outcome) = 
+    new Result(outcome, -1, None, None)
+}
+
 object ResultNone extends Result(NoOutcome)
 
+case class RunUnit(name:String, id:Int, action:Action, result:Result)
+
 class Collector {
   type OneStep = (Action, Result)
   private val lock:AnyRef = new AnyRef
-  private val resultsAcc:ArrayBuffer[(Action, Result)] = ArrayBuffer.empty
+  private val resultsAcc:ArrayBuffer[RunUnit] = ArrayBuffer.empty
   // Cache.
-  private var view:Option[Array[(Action, Result)]] = None
+  private var view:Option[Array[RunUnit]] = None
   
-  def results:Array[(Action, Result)] = {
+  def results:Array[RunUnit] = {
     lock.synchronized {
         if ( view.isEmpty ) view = Some(resultsAcc.toArray)
         view.get
     }
   }
   
-  def acc(step: OneStep /*action: Action, outcome:Result*/):Unit = {
-    lock.synchronized { resultsAcc += step ; view = None ; }
+  def acc(action: Action, result:Result):Unit = {
+    lock.synchronized {
+      val id = resultsAcc.size+1
+      resultsAcc += RunUnit(action.name, id, action, result) ; view = None ; }
   }
 }