summaryrefslogtreecommitdiff
path: root/test/files/run/coder
Commit message (Collapse)AuthorAgeFilesLines
* Adding some tests for #3651.Aleksandar Pokopec2011-03-223-58333/+0
| | | | | No review.
* Implementing foreach to work in parallel in Par...Aleksandar Pokopec2011-03-223-0/+58333
| | | | | | | | | | | | 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.
* We need a successful build, not sure why this h...Paul Phillips2011-03-213-58333/+0
| | | | | | We need a successful build, not sure why this hasn't been disabled yet. Disabled failing coder test, no review.
* Removing toPar* methods, since we've agreed the...Aleksandar Pokopec2011-03-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removing toPar* methods, since we've agreed they're difficult to: - underestand - maintain Also, changed the docs and some tests appropriately. Description: 1) Every collection is now parallelizable - switch to the parallel version of the collection is done via `par`. - Traversable collections and iterators have `par` return a parallel - collection of type `ParIterable[A]` with the implementation being the - representative of `ParIterable`s (currently, `ParArray`). Iterable - collections do the same thing. Sequences refine `par`'s returns type - to `ParSeq[A]`. Maps and sets do a similar thing. The above means that the contract for `par` changed - it is no longer guaranteed to be O(1), nor reflect the same underlying data, as was the case for mutable collections before. Method `par` is now at worst linear. Furthermore, specific collection implementations override `par` to a more efficient alternative - instead of copying the dataset, the dataset is shared between the old and the new version. Implementation complexity may be sublinear or constant in these cases, and the underlying data structure may be shared. Currently, these data structures include parallel arrays, maps and sets, vectors, hash trie maps and sets, and ranges. Finally, parallel collections implement `par` trivially. 2) Methods `toMap`, `toSet`, `toSeq` and `toIterable` have been refined for parallel collections to switch between collection types, however, they never switch an implementation from parallel to sequential. They may or may not copy the elements, as is the case with sequential variants of these methods. 3) The preferred way to switch between different collection types, whether maps, sets and seqs, or parallel and sequential, is now via use of methods `toIterable`, `toSeq`, `toSet` and `toMap` in combination with `par` and `seq`. Review by odersky.
* Test case change.Aleksandar Pokopec2011-01-071-1/+1
| | | | | No review
* Bencharking a larger program with parallel coll...Aleksandar Pokopec2010-12-213-0/+58333
Bencharking a larger program with parallel collections. Fixed a couple of bugs in parallel collections. No review.