summaryrefslogtreecommitdiff
path: root/test/benchmarks/src/scala/collection/parallel/benchmarks/parallel_array/DiffHalf.scala
diff options
context:
space:
mode:
authorAleksandar Pokopec <aleksandar.prokopec@epfl.ch>2010-06-07 10:15:32 +0000
committerAleksandar Pokopec <aleksandar.prokopec@epfl.ch>2010-06-07 10:15:32 +0000
commite67f56076624ea83383901934a30280d7f97380f (patch)
treea28b45d7a79ff9002735ea225b3a4733ac4d0234 /test/benchmarks/src/scala/collection/parallel/benchmarks/parallel_array/DiffHalf.scala
parentdd396886d0da88326e5e4772af4d8813360ea8a5 (diff)
downloadscala-e67f56076624ea83383901934a30280d7f97380f.tar.gz
scala-e67f56076624ea83383901934a30280d7f97380f.tar.bz2
scala-e67f56076624ea83383901934a30280d7f97380f.zip
Adding parallel collections to trunk.
sabbus also edited to add parallel collections to the library jar - review by phaller
Diffstat (limited to 'test/benchmarks/src/scala/collection/parallel/benchmarks/parallel_array/DiffHalf.scala')
-rw-r--r--test/benchmarks/src/scala/collection/parallel/benchmarks/parallel_array/DiffHalf.scala48
1 files changed, 48 insertions, 0 deletions
diff --git a/test/benchmarks/src/scala/collection/parallel/benchmarks/parallel_array/DiffHalf.scala b/test/benchmarks/src/scala/collection/parallel/benchmarks/parallel_array/DiffHalf.scala
new file mode 100644
index 0000000000..3d4221d945
--- /dev/null
+++ b/test/benchmarks/src/scala/collection/parallel/benchmarks/parallel_array/DiffHalf.scala
@@ -0,0 +1,48 @@
+package scala.collection.parallel.benchmarks
+package parallel_array
+
+
+
+
+
+
+
+class DiffHalf(sz: Int, p: Int, what: String)
+extends Resettable[Cont](sz, p, what, (i: Int) => new Cont(i), new Array[Any](_), classOf[Cont])
+with HavingResult[Int] {
+ def companion = DiffHalf
+ override def repetitionsPerRun = 400
+
+ val similar = {
+ val p = new collection.parallel.mutable.ParallelArray[Cont](sz)
+ for (i <- 0 until sz) p(i) = what match {
+ case "seq" => arr(i).asInstanceOf[Cont]
+ case "par" => pa(i)
+ }
+ p.drop(p.size / 2)
+ }
+
+ def runpar = runresult = pa.diff(similar).size
+ def runseq = runresult = sequentialDiff(similar, sz).size
+ override def comparisonMap = collection.Map()
+
+ val corr = (a: Cont, b: Cont) => a.in == b.in
+}
+
+object DiffHalf extends Companion {
+ def benchName = "diff-half";
+ def apply(sz: Int, p: Int, what: String) = new DiffHalf(sz, p, what)
+ override def comparisons = List()
+ override def defaultSize = 10000
+}
+
+
+
+
+
+
+
+
+
+
+