summaryrefslogtreecommitdiff
path: root/test/benchmarks
diff options
context:
space:
mode:
authorAleksandar Pokopec <aleksandar.prokopec@epfl.ch>2010-09-24 13:57:05 +0000
committerAleksandar Pokopec <aleksandar.prokopec@epfl.ch>2010-09-24 13:57:05 +0000
commitcdd4cf44dd7d1ae6097aaa384b785b260234de29 (patch)
treee5a7fe7eed6da7c8d0d0e0ff9441160bc60e21a3 /test/benchmarks
parent7fa6c08f531a65d4b238deee8907644b8a37a499 (diff)
downloadscala-cdd4cf44dd7d1ae6097aaa384b785b260234de29.tar.gz
scala-cdd4cf44dd7d1ae6097aaa384b785b260234de29.tar.bz2
scala-cdd4cf44dd7d1ae6097aaa384b785b260234de29.zip
Fixed ParSeqView, added Patched and Reversed.
Diffstat (limited to 'test/benchmarks')
-rw-r--r--test/benchmarks/src/scala/collection/parallel/Benchmarking.scala1
-rw-r--r--test/benchmarks/src/scala/collection/parallel/benchmarks/generic/ParallelBenches.scala21
2 files changed, 22 insertions, 0 deletions
diff --git a/test/benchmarks/src/scala/collection/parallel/Benchmarking.scala b/test/benchmarks/src/scala/collection/parallel/Benchmarking.scala
index 954ee727a0..63a5de36ee 100644
--- a/test/benchmarks/src/scala/collection/parallel/Benchmarking.scala
+++ b/test/benchmarks/src/scala/collection/parallel/Benchmarking.scala
@@ -77,6 +77,7 @@ trait BenchmarkRegister {
register(parallel_view.DummyViewBenchList.IterationM)
register(parallel_view.DummyViewBenchList.IterationA)
register(parallel_view.DummyViewBenchList.IterationZ)
+ register(parallel_view.DummyViewBenchList.IterationP)
// parallel ranges
register(parallel_range.RangeBenches.Reduce)
diff --git a/test/benchmarks/src/scala/collection/parallel/benchmarks/generic/ParallelBenches.scala b/test/benchmarks/src/scala/collection/parallel/benchmarks/generic/ParallelBenches.scala
index 8516b77191..e99c70d921 100644
--- a/test/benchmarks/src/scala/collection/parallel/benchmarks/generic/ParallelBenches.scala
+++ b/test/benchmarks/src/scala/collection/parallel/benchmarks/generic/ParallelBenches.scala
@@ -62,6 +62,7 @@ self =>
}
trait SeqBench extends IterableBench {
+ def seqcollAsSeq = seqcoll.asInstanceOf[Seq[T]]
override def createSequential(sz: Int, p: Int) = self.createSequential(sz, p)
}
@@ -219,6 +220,26 @@ self =>
def companion = IterationZ
}
+ object IterationP extends SeqBenchCompanion {
+ override def defaultSize = 50000
+ def benchName = "iter-p"
+ def apply(sz: Int, p: Int, w: String) = new IterationP(sz, p, w)
+ }
+
+ class IterationP(val size: Int, val parallelism: Int, val runWhat: String)
+ extends SeqBench with SeqViewBench {
+ val patch = operators.sequence(size / 4)
+ val sqpatch = patch.toSeq
+ def comparisonMap = collection.Map("seqview" -> runseqview _)
+ def runseq = {
+ val withpatch = this.seqcollAsSeq.patch(size / 4, sqpatch, size / 2)
+ withpatch.foreach(operators.eachFun)
+ }
+ def runpar = this.parcoll.patch(size / 4, patch, size / 2).foreach(operators.eachFun)
+ def runseqview = this.seqview.patch(size / 4, patch, size / 2).foreach(operators.eachFun)
+ def companion = IterationP
+ }
+
object Reduce extends SeqBenchCompanion {
override def defaultSize = 50000
def benchName = "reduce";