summaryrefslogtreecommitdiff
path: root/test/benchmarking
diff options
context:
space:
mode:
authorAleksandar Prokopec <axel22@gmail.com>2012-02-15 13:08:43 +0100
committerAleksandar Prokopec <axel22@gmail.com>2012-02-15 13:09:34 +0100
commitada6771679aa63e8aa57a294dfb268b2a7a32df4 (patch)
treef277a9fe360cc1075e8fa5c7802014ffd93a1687 /test/benchmarking
parent83c584026d593b6806e1107d645606b9498c05d6 (diff)
downloadscala-ada6771679aa63e8aa57a294dfb268b2a7a32df4.tar.gz
scala-ada6771679aa63e8aa57a294dfb268b2a7a32df4.tar.bz2
scala-ada6771679aa63e8aa57a294dfb268b2a7a32df4.zip
Add lazy size evaluation to Ctries.
Size of the Ctrie is now cached and only recomputed for those parts of the Ctrie that changed since the last snapshot.
Diffstat (limited to 'test/benchmarking')
-rw-r--r--test/benchmarking/ParCtrie-size.scala34
1 files changed, 34 insertions, 0 deletions
diff --git a/test/benchmarking/ParCtrie-size.scala b/test/benchmarking/ParCtrie-size.scala
new file mode 100644
index 0000000000..5a6191fb62
--- /dev/null
+++ b/test/benchmarking/ParCtrie-size.scala
@@ -0,0 +1,34 @@
+
+
+
+
+import collection.parallel.mutable.ParCtrie
+
+
+
+object Size extends testing.Benchmark {
+ val length = sys.props("length").toInt
+ val par = sys.props("par").toInt
+ var parctrie = ParCtrie((0 until length) zip (0 until length): _*)
+
+ collection.parallel.ForkJoinTasks.defaultForkJoinPool.setParallelism(par)
+
+ def run = {
+ parctrie.size
+ }
+
+ var iteration = 0
+
+ override def tearDown() {
+ iteration += 1
+ if (iteration % 4 == 0) parctrie = ParCtrie((0 until length) zip (0 until length): _*)
+ }
+
+}
+
+
+
+
+
+
+