summaryrefslogtreecommitdiff
path: root/test/benchmarks
diff options
context:
space:
mode:
authorAleksandar Pokopec <aleksandar.prokopec@epfl.ch>2010-08-31 09:51:23 +0000
committerAleksandar Pokopec <aleksandar.prokopec@epfl.ch>2010-08-31 09:51:23 +0000
commit9db3f49ff41bb9d037924cd6995ed598c9619650 (patch)
tree27af7284ff60253039fbb01bbf86bc637ef77d57 /test/benchmarks
parent4af85c28c4d3e1bf57f773fe7feb7c03d6afe052 (diff)
downloadscala-9db3f49ff41bb9d037924cd6995ed598c9619650.tar.gz
scala-9db3f49ff41bb9d037924cd6995ed598c9619650.tar.bz2
scala-9db3f49ff41bb9d037924cd6995ed598c9619650.zip
Added scalacheck folder, scalacheck source upda...
Added scalacheck folder, scalacheck source update script, and scalacheck ant tasks. Build process will now generate a scalacheck jar in the build/pack/lib directory. It generates it from the scalacheck source in the src/scalacheck dir. If the source there gets out of date, it is to be updated manually using the tools/updatescalacheck script. Review by phaller.
Diffstat (limited to 'test/benchmarks')
-rw-r--r--test/benchmarks/source.list4
-rw-r--r--test/benchmarks/src/scala/collection/parallel/Benchmarking.scala1
-rw-r--r--test/benchmarks/src/scala/collection/parallel/benchmarks/hashtries/ParallelHashTries.scala55
-rw-r--r--test/benchmarks/src/scala/collection/parallel/benchmarks/parallel_array/CountLight.scala1
4 files changed, 60 insertions, 1 deletions
diff --git a/test/benchmarks/source.list b/test/benchmarks/source.list
index 88d2b257b2..9ca7a406dd 100644
--- a/test/benchmarks/source.list
+++ b/test/benchmarks/source.list
@@ -23,6 +23,7 @@ src/scala/collection/parallel/benchmarks/parallel_array/PatchHalf.scala
src/scala/collection/parallel/benchmarks/parallel_array/DiffHalf.scala
src/scala/collection/parallel/benchmarks/parallel_array/TakeMany.scala
src/scala/collection/parallel/benchmarks/parallel_array/PartialMapLight.scala
+src/scala/collection/parallel/benchmarks/parallel_array/ScanLight.scala
src/scala/collection/parallel/benchmarks/parallel_array/Reverse.scala
src/scala/collection/parallel/benchmarks/parallel_array/SpanLight.scala
src/scala/collection/parallel/benchmarks/parallel_array/PlusPlus.scala
@@ -62,7 +63,10 @@ src/scala/collection/parallel/benchmarks/generic/Dummy.scala
src/scala/collection/parallel/benchmarks/parallel_range/RangeBenches.scala
src/scala/collection/parallel/benchmarks/Bench.scala
src/scala/collection/parallel/benchmarks/hashtries/Foreach.scala
+src/scala/collection/parallel/benchmarks/hashtries/Combine.scala
+src/scala/collection/parallel/benchmarks/hashtries/MultipleCombine.scala
src/scala/collection/parallel/benchmarks/hashtries/Iterate.scala
src/scala/collection/parallel/benchmarks/hashtries/Construct.scala
src/scala/collection/parallel/benchmarks/hashtries/IntInit.scala
src/scala/collection/parallel/benchmarks/hashtries/Lookup.scala
+src/scala/collection/parallel/benchmarks/hashtries/ParallelHashTries.scala
diff --git a/test/benchmarks/src/scala/collection/parallel/Benchmarking.scala b/test/benchmarks/src/scala/collection/parallel/Benchmarking.scala
index 89b5696f9d..2cc3abaf27 100644
--- a/test/benchmarks/src/scala/collection/parallel/Benchmarking.scala
+++ b/test/benchmarks/src/scala/collection/parallel/Benchmarking.scala
@@ -99,6 +99,7 @@ trait BenchmarkRegister {
// parallel hash trie benchmarks
register(hashtries.RefParHashTrieBenches.Reduce)
register(hashtries.RefParHashTrieBenches.ReduceMedium)
+ register(hashtries.RefParHashTrieBenches.Reduce2)
register(hashtries.RefParHashTrieBenches.Map)
register(hashtries.RefParHashTrieBenches.Map2)
}
diff --git a/test/benchmarks/src/scala/collection/parallel/benchmarks/hashtries/ParallelHashTries.scala b/test/benchmarks/src/scala/collection/parallel/benchmarks/hashtries/ParallelHashTries.scala
index bec8ba6650..c68bce93b2 100644
--- a/test/benchmarks/src/scala/collection/parallel/benchmarks/hashtries/ParallelHashTries.scala
+++ b/test/benchmarks/src/scala/collection/parallel/benchmarks/hashtries/ParallelHashTries.scala
@@ -21,6 +21,7 @@ trait ParHashTrieBenches[K, V] extends StandardParIterableBench[(K, V), ParHashT
object Map2 extends IterableBenchCompanion {
override def defaultSize = 5000
+ override def comparisons = List("jhashtable", "hashtable")
def benchName = "map2";
def apply(sz: Int, p: Int, w: String) = new Map2(sz, p, w)
}
@@ -28,7 +29,7 @@ trait ParHashTrieBenches[K, V] extends StandardParIterableBench[(K, V), ParHashT
class Map2(val size: Int, val parallelism: Int, val runWhat: String)
extends IterableBench with StandardParIterableBench[(K, V), ParHashTrie[K, V]] {
var result: Int = 0
- def comparisonMap = collection.Map()
+ def comparisonMap = collection.Map("jhashtable" -> runjhashtable _, "hashtable" -> runhashtable _)
def runseq = {
val r = this.seqcoll.asInstanceOf[collection.immutable.HashMap[K, V]].map(operators.mapper2)
result = r.size
@@ -38,6 +39,29 @@ trait ParHashTrieBenches[K, V] extends StandardParIterableBench[(K, V), ParHashT
//println(collection.parallel.immutable.ParHashTrie.totalcombines)
//System.exit(1)
}
+ def runjhashtable = {
+ val jumap = new java.util.HashMap[K, V]()
+ val it = this.seqcoll.iterator
+ while (it.hasNext) {
+ val p = it.next
+ jumap.put(p._1, p._2)
+ }
+ result = jumap.size
+ }
+ def runhashtable = {
+ val smap = collection.mutable.HashMap[K, V]()
+ val it = this.seqcoll.iterator
+ while (it.hasNext) {
+ val p = it.next
+ smap.put(p._1, p._2)
+ }
+ result = smap.size
+ }
+ override def reset = runWhat match {
+ case "jhashtable" => this.seqcoll = createSequential(size, parallelism)
+ case "hashtable" => this.seqcoll = createSequential(size, parallelism)
+ case _ => super.reset
+ }
def companion = Map2
override def repetitionsPerRun = 50
override def printResults {
@@ -46,6 +70,29 @@ trait ParHashTrieBenches[K, V] extends StandardParIterableBench[(K, V), ParHashT
}
}
+ object Reduce2 extends IterableBenchCompanion {
+ override def defaultSize = 50000
+ override def comparisons = List("hashtable")
+ def benchName = "reduce2";
+ def apply(sz: Int, p: Int, w: String) = new Reduce2(sz, p, w)
+ }
+
+ class Reduce2(val size: Int, val parallelism: Int, val runWhat: String)
+ extends IterableBench with StandardParIterableBench[(K, V), ParHashTrie[K, V]] {
+ private var ht: collection.mutable.HashMap[K, V] = _
+ def comparisonMap = collection.Map("hashtable" -> runhashtable _)
+ def runseq = this.seqcoll.reduceLeft(operators.reducer)
+ def runpar = this.parcoll.reduce(operators.reducer)
+ def runhashtable = ht.reduceLeft(operators.reducer)
+ override def reset = runWhat match {
+ case "hashtable" => ht = createHashTable(size)
+ case _ => super.reset
+ }
+ def companion = Reduce2
+ }
+
+ def createHashTable(sz: Int): collection.mutable.HashMap[K, V]
+
}
@@ -118,4 +165,10 @@ object RefParHashTrieBenches extends ParHashTrieBenches[Dummy, Dummy] with NotBe
pht
}
+ def createHashTable(sz: Int) = {
+ val hm = collection.mutable.HashMap[Dummy, Dummy]()
+ for (i <- 0 until sz) hm.put(new Dummy(i), new Dummy(i))
+ hm
+ }
+
}
diff --git a/test/benchmarks/src/scala/collection/parallel/benchmarks/parallel_array/CountLight.scala b/test/benchmarks/src/scala/collection/parallel/benchmarks/parallel_array/CountLight.scala
index 87eb07452f..569b304660 100644
--- a/test/benchmarks/src/scala/collection/parallel/benchmarks/parallel_array/CountLight.scala
+++ b/test/benchmarks/src/scala/collection/parallel/benchmarks/parallel_array/CountLight.scala
@@ -19,3 +19,4 @@ extends Resettable(sz, p, what, new Cont(_), new Array[Any](_), classOf[Cont]) {
def runjsr = jsrarr.withFilter(Cont.predjsr).size
def comparisonMap = collection.Map("jsr" -> runjsr _)
}
+