summaryrefslogtreecommitdiff
path: root/test/files/scalacheck/parallel-collections/ParallelIterableCheck.scala
Commit message (Collapse)AuthorAgeFilesLines
* Begone t1737...Hubert Plociniczak2011-11-021-41/+41
|
* Fixed some tests, renamed from Any to Gen.Aleksandar Pokopec2011-04-131-3/+3
| | | | | No review.
* Refactoring the collections api to support diff...Aleksandar Pokopec2011-04-131-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactoring the collections api to support differentiation between referring to a sequential collection and a parallel collection, and to support referring to both types of collections. New set of traits Gen* are now superclasses of both their * and Par* subclasses. For example, GenIterable is a superclass of both Iterable and ParIterable. Iterable and ParIterable are not in a subclassing relation. The new class hierarchy is illustrated below (simplified, not all relations and classes are shown): TraversableOnce --> GenTraversableOnce ^ ^ | | Traversable --> GenTraversable ^ ^ | | Iterable --> GenIterable <-- ParIterable ^ ^ ^ | | | Seq --> GenSeq <-- ParSeq (the *Like, *View and *ViewLike traits have a similar hierarchy) General views extract common view functionality from parallel and sequential collections. This design also allows for more flexible extensions to the collections framework. It also allows slowly factoring out common functionality up into Gen* traits. From now on, it is possible to write this: import collection._ val p = parallel.ParSeq(1, 2, 3) val g: GenSeq[Int] = p // meaning a General Sequence val s = g.seq // type of s is Seq[Int] for (elem <- g) { // do something without guarantees on sequentiality of foreach // this foreach may be executed in parallel } for (elem <- s) { // do something with a guarantee that foreach is executed in order, sequentially } for (elem <- p) { // do something concurrently, in parallel } This also means that some signatures had to be changed. For example, method `flatMap` now takes `A => GenTraversableOnce[B]`, and `zip` takes a `GenIterable[B]`. Also, there are mutable & immutable Gen* trait variants. They have generic companion functionality.
* Implementing foreach to work in parallel in Par...Aleksandar Pokopec2011-03-221-1/+1
| | | | | | | | | | | | Implementing foreach to work in parallel in ParIterableLike. Doing a bunch of refactoring around in the collection framework to ensure a parallel foreach is never called with a side-effecting method. This still leaves other parts of the standard library and the compiler unguarded. No review.
* Implemented a (slower) workaround for parallel ...Aleksandar Pokopec2011-01-071-0/+16
| | | | | | | | Implemented a (slower) workaround for parallel vectors. Implemented group by. No review.
* Made parallel collections serializable.Aleksandar Pokopec2010-12-091-1/+1
| | | | | No review.
* Array combiners implementation changed from arr...Aleksandar Pokopec2010-12-091-0/+16
| | | | | | | | | Array combiners implementation changed from array buffers to doubling unrolled buffers to avoid excessive copying. Still evaluating the benefits of this. No review.
* Fixing jvm 1.5 support for parallel collections.Aleksandar Pokopec2010-12-091-4/+45
| | | | | | | | | | | | | | | | | | Special cased with thread pool executor scheduling. Fixed an ugly concurrency bug where futures returned by a thread pool executor didn't remove the task from the queue when cancel was called. Note to self and others: don't cancel futures returned by thread pool executors, it might lead to unexpected behaviour. Modified the executor to add new threads if all the active threads are syncing, in order to avoid deadlocks. Fixed a hidden bug in AdaptiveWorkStealingTasks, where correct behaviour depended on the execution order of the tasks. This didn't fail before with ForkJoinTasks, since there the execution order is well-defined. Scalachecked 1.5 & 1.6 support. No review.
* Refactored parallel collections for pluggable t...Aleksandar Pokopec2010-11-271-6/+8
| | | | | | | | Refactored parallel collections for pluggable task support implementations. No review.
* Added size maps to flat hash tables.Aleksandar Pokopec2010-11-081-1/+4
| | | | | | | | | | | Added parallel mutable hash sets. Implemented parallel mutable hash set iterators. Implemented parallel mutable hash set combiners. Factored out unrolled linked lists into a separate class UnrolledBuffer, added tests. Added parallel mutable hash set tests, and debugged hashsets. No review.
* Debugging parallel hash tables.Aleksandar Pokopec2010-10-281-258/+271
| | | | | No review.
* Mostly refactored existing test functionality f...Aleksandar Pokopec2010-10-281-259/+277
| | | | | | | | Mostly refactored existing test functionality for parallel collections. Added immutable hash set tests. No review.
* Some serious hash tries bugs fixed.Aleksandar Pokopec2010-10-201-29/+79
| | | | | | | Plus one wild goose chase and test fixes. No review.
* Some exception handling fixes in parallel colle...Aleksandar Pokopec2010-10-201-4/+13
| | | | | | | | Some exception handling fixes in parallel collections. Fixed some regressions. Fixed some tests. No review.
* An issue with scalacheck and actors where an ex...Aleksandar Pokopec2010-10-051-212/+212
| | | | | An issue with scalacheck and actors where an excess of thread pools gets created - tmp fix. No review.
* Fixed a scalacheck test group "test entire subd...Aleksandar Pokopec2010-10-041-0/+304
| | | | | | | Fixed a scalacheck test group "test entire subdirectory" problem. It's now possible to add scalacheck tests consisting of multiple files. No review.
* Temporarily disabled collections checks to keep...Aleksandar Pokopec2010-09-011-304/+0
| | | | | | | Temporarily disabled collections checks to keep build from breaking. No review
* Added scalacheck tests for parallel collections.Aleksandar Pokopec2010-09-011-0/+304
Review by phaller (not urgent).