summaryrefslogtreecommitdiff
path: root/test/benchmarks
diff options
context:
space:
mode:
authorAleksandar Pokopec <aleksandar.prokopec@epfl.ch>2010-12-09 10:08:16 +0000
committerAleksandar Pokopec <aleksandar.prokopec@epfl.ch>2010-12-09 10:08:16 +0000
commit492b22576f2ad46b300ce8dc31c5b672aaf517e4 (patch)
tree25c5188138feedf55706042494fdc7227960fbc0 /test/benchmarks
parenta730fb5cc6cea39a29e9ff4cd666fa8498f6adec (diff)
downloadscala-492b22576f2ad46b300ce8dc31c5b672aaf517e4.tar.gz
scala-492b22576f2ad46b300ce8dc31c5b672aaf517e4.tar.bz2
scala-492b22576f2ad46b300ce8dc31c5b672aaf517e4.zip
Fixed parallel ranges to use the same range log...
Fixed parallel ranges to use the same range logic under the hood, and not introduce code duplication. Slight fix in Tasks. No review.
Diffstat (limited to 'test/benchmarks')
-rw-r--r--test/benchmarks/src/scala/collection/parallel/benchmarks/parallel_array/MatrixMultiplication.scala2
-rw-r--r--test/benchmarks/src/scala/collection/parallel/benchmarks/parallel_range/RangeBenches.scala7
2 files changed, 6 insertions, 3 deletions
diff --git a/test/benchmarks/src/scala/collection/parallel/benchmarks/parallel_array/MatrixMultiplication.scala b/test/benchmarks/src/scala/collection/parallel/benchmarks/parallel_array/MatrixMultiplication.scala
index e4eb51d83b..3c1cc47088 100644
--- a/test/benchmarks/src/scala/collection/parallel/benchmarks/parallel_array/MatrixMultiplication.scala
+++ b/test/benchmarks/src/scala/collection/parallel/benchmarks/parallel_array/MatrixMultiplication.scala
@@ -38,7 +38,7 @@ extends Resettable(sz, p, what, new Cont(_), new Array[Any](_), classOf[Cont]) {
}
def assignProduct(a: Matrix[T], b: Matrix[T]) = {
- val range = new ParRange(0, n * n, 1, false)
+ val range = ParRange(0, n * n, 1, false)
range.tasksupport.environment = forkjoinpool
for (i <- range) this(i / n, i % n) = calcProduct(a, b, i / n, i % n);
}
diff --git a/test/benchmarks/src/scala/collection/parallel/benchmarks/parallel_range/RangeBenches.scala b/test/benchmarks/src/scala/collection/parallel/benchmarks/parallel_range/RangeBenches.scala
index 6cd1d74c5e..4f32d366a4 100644
--- a/test/benchmarks/src/scala/collection/parallel/benchmarks/parallel_range/RangeBenches.scala
+++ b/test/benchmarks/src/scala/collection/parallel/benchmarks/parallel_range/RangeBenches.scala
@@ -20,7 +20,7 @@ object RangeBenches extends StandardParIterableBenches[Int, ParRange] {
val forkJoinPool = new scala.concurrent.forkjoin.ForkJoinPool
def createSequential(sz: Int, p: Int) = new collection.immutable.Range(0, sz, 1)
def createParallel(sz: Int, p: Int) = {
- val pr = new collection.parallel.immutable.ParRange(0, sz, 1, false)
+ val pr = collection.parallel.immutable.ParRange(0, sz, 1, false)
forkJoinPool.setParallelism(p)
pr.tasksupport.environment = forkJoinPool
pr
@@ -79,7 +79,10 @@ object RangeBenches extends StandardParIterableBenches[Int, ParRange] {
def comparisonMap = collection.Map()
def runseq = for (n <- this.seqcoll) modify(n)
- def runpar = for (n <- this.parcoll) modify(n)
+ def runpar = for (n <- this.parcoll.asInstanceOf[ParRange]) {
+ modify(n)
+ ()
+ }
def companion = ForeachModify
}