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/IndexWhere.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/IndexWhere.scala')
-rw-r--r-- | test/benchmarks/src/scala/collection/parallel/benchmarks/parallel_array/IndexWhere.scala | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/test/benchmarks/src/scala/collection/parallel/benchmarks/parallel_array/IndexWhere.scala b/test/benchmarks/src/scala/collection/parallel/benchmarks/parallel_array/IndexWhere.scala new file mode 100644 index 0000000000..e8a74286ae --- /dev/null +++ b/test/benchmarks/src/scala/collection/parallel/benchmarks/parallel_array/IndexWhere.scala @@ -0,0 +1,47 @@ +package scala.collection.parallel.benchmarks +package parallel_array + + + + + + + +class IndexWhere(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 = IndexWhere + override def repetitionsPerRun = 400 + + def runpar = runresult = pa.indexWhere(IndexWhere.pred2, 0) + def runseq = runresult = sequentialIndexWhere(IndexWhere.pred2, 0, sz) + override def comparisonMap = collection.Map() +} + +object IndexWhere extends Companion { + def benchName = "index-where"; + def apply(sz: Int, p: Int, what: String) = new IndexWhere(sz, p, what) + override def comparisons = List() + + val pred = (c: Cont) => { + var in = c.in + var i = 2 + while (i < 5) { + if (in % i == 0) in = 0 + i += 1 + } + c.in >= 0 && in == -1 + } + val pred2 = (c: Cont) => c.in == 280000 +} + + + + + + + + + + + |