diff options
author | Aleksandar Prokopec <axel22@gmail.com> | 2012-02-15 13:08:43 +0100 |
---|---|---|
committer | Aleksandar Prokopec <axel22@gmail.com> | 2012-02-15 13:09:34 +0100 |
commit | ada6771679aa63e8aa57a294dfb268b2a7a32df4 (patch) | |
tree | f277a9fe360cc1075e8fa5c7802014ffd93a1687 /test/benchmarking/ParCtrie-size.scala | |
parent | 83c584026d593b6806e1107d645606b9498c05d6 (diff) | |
download | scala-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/ParCtrie-size.scala')
-rw-r--r-- | test/benchmarking/ParCtrie-size.scala | 34 |
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): _*) + } + +} + + + + + + + |