summaryrefslogtreecommitdiff
path: root/test/files/run/ctries/concmap.scala
diff options
context:
space:
mode:
authorAleksandar Prokopec <axel22@gmail.com>2012-02-15 15:37:42 +0100
committerAleksandar Prokopec <axel22@gmail.com>2012-02-15 15:38:06 +0100
commitfe6c9e3f1693f2e6db5ae69517893894bbac6afb (patch)
treef90deb499f8ffa009eb26e55ce7c233098b010cc /test/files/run/ctries/concmap.scala
parentada6771679aa63e8aa57a294dfb268b2a7a32df4 (diff)
downloadscala-fe6c9e3f1693f2e6db5ae69517893894bbac6afb.tar.gz
scala-fe6c9e3f1693f2e6db5ae69517893894bbac6afb.tar.bz2
scala-fe6c9e3f1693f2e6db5ae69517893894bbac6afb.zip
Add parallel size computation for ParCtrie.
Also modified size computation for Ctrie so that concurrent `size` invocations can be parallelized more efficiently.
Diffstat (limited to 'test/files/run/ctries/concmap.scala')
-rw-r--r--test/files/run/ctries/concmap.scala19
1 files changed, 19 insertions, 0 deletions
diff --git a/test/files/run/ctries/concmap.scala b/test/files/run/ctries/concmap.scala
index 85a305ce5b..d73e33182a 100644
--- a/test/files/run/ctries/concmap.scala
+++ b/test/files/run/ctries/concmap.scala
@@ -164,6 +164,25 @@ object ConcurrentMapSpec extends Spec {
for (i <- 0 until sz) assertEqual(ct.get(new Wrap(i)), None)
}
+ "compute size correctly" in {
+ val ct = new Ctrie[Wrap, Int]
+ val sz = 36450
+ for (i <- 0 until sz) ct(new Wrap(i)) = i
+
+ assertEqual(ct.size, sz)
+ assertEqual(ct.size, sz)
+ }
+
+ "compute size correctly in parallel" in {
+ val ct = new Ctrie[Wrap, Int]
+ val sz = 36450
+ for (i <- 0 until sz) ct(new Wrap(i)) = i
+ val pct = ct.par
+
+ assertEqual(pct.size, sz)
+ assertEqual(pct.size, sz)
+ }
+
}
}