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 ; }
}
}