Commit 6717141d authored by neverlord's avatar neverlord

benchmark fix

parent 111c7a7c
...@@ -33,18 +33,23 @@ object global { ...@@ -33,18 +33,23 @@ object global {
} }
class ThreadedWorker(supervisor: Actor) extends Actor { class ThreadedWorker(supervisor: Actor) extends Actor {
override def act() = receive { override def act() {
case Calc(value) => supervisor ! Factors(global.factorize(value)); act var done = false
case Done => // recursion ends while (done == false) {
receive {
case Calc(value) => supervisor ! Factors(global.factorize(value))
case Done => done = true
}
}
} }
} }
class ThreadedChainLink(next: Actor) extends Actor { class ThreadedChainLink(next: Actor) extends Actor {
override def act() = { override def act() {
var done = false var done = false
while (done == false) while (done == false)
receive { receive {
case Token(value) => next ! Token(value); if (value > 0) done = true case Token(value) => next ! Token(value); if (value == 0) done = true
} }
} }
} }
...@@ -77,7 +82,7 @@ class ThreadedChainMaster(supervisor: Actor) extends Actor { ...@@ -77,7 +82,7 @@ class ThreadedChainMaster(supervisor: Actor) extends Actor {
class ThreadedSupervisor(numMessages: Int) extends Actor { class ThreadedSupervisor(numMessages: Int) extends Actor {
override def act() = for (_ <- 0 until numMessages) { override def act() = for (_ <- 0 until numMessages) {
receive { receive {
case Factors(f) => global.checkFactors(f); case Factors(f) => global.checkFactors(f)
case MasterExited => case MasterExited =>
} }
} }
...@@ -222,7 +227,7 @@ object MixedCase { ...@@ -222,7 +227,7 @@ object MixedCase {
val numMessages = (numRings + (numRings * repetitions)) val numMessages = (numRings + (numRings * repetitions))
val impl = args(0) val impl = args(0)
if (impl == "threaded") { if (impl == "threaded") {
//System.setProperty("actors.maxPoolSize", ((11 * ringSize) + 10).toString) //System.setProperty("actors.maxPoolSize", (numRings + (numRings * ringSize) + 10).toString)
val s = (new ThreadedSupervisor(numMessages)).start val s = (new ThreadedSupervisor(numMessages)).start
for (_ <- 0 until numRings) for (_ <- 0 until numRings)
(new ThreadedChainMaster(s)).start ! initMsg (new ThreadedChainMaster(s)).start ! initMsg
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment