diff options
author | Aleksandar Pokopec <aleksandar.prokopec@epfl.ch> | 2010-06-07 10:15:32 +0000 |
---|---|---|
committer | Aleksandar Pokopec <aleksandar.prokopec@epfl.ch> | 2010-06-07 10:15:32 +0000 |
commit | e67f56076624ea83383901934a30280d7f97380f (patch) | |
tree | a28b45d7a79ff9002735ea225b3a4733ac4d0234 /test/benchmarks/src/scala/collection/parallel/benchmarks/parallel_array/DiffHalf.scala | |
parent | dd396886d0da88326e5e4772af4d8813360ea8a5 (diff) | |
download | scala-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.scala | 48 |
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 +} + + + + + + + + + + + |