Paralell collections in Scala

15
Parallel collections i Scala 2.9 Alf Kristian Støyle Know IT Objectnet

Transcript of Paralell collections in Scala

Page 1: Paralell collections in Scala

Parallel collections iScala 2.9Alf Kristian Støyle

Know IT Objectnet

Page 4: Paralell collections in Scala

Embarrassingly parallel

Page 5: Paralell collections in Scala

Fork/Join

Page 6: Paralell collections in Scala

Work stealing

Page 7: Paralell collections in Scala

Double-ended queue - deque

Page 8: Paralell collections in Scala

Double-ended queue - deque

Page 9: Paralell collections in Scala

Double-ended queue - deque

Page 10: Paralell collections in Scala

val persons: List[Person] = ...val (kids, adults) = persons.partition(_.age < 18)

Page 11: Paralell collections in Scala

val paralellList = List(1, 2, 3).par

Page 12: Paralell collections in Scala

val paralellList = List(1, 2, 3)

val sequentialList = paralellList.seq

.par

Page 13: Paralell collections in Scala

• parallel arrays - scala.collection.parallel.mutable.ParArray • parallel ranges - scala.collection.parallel.immutable.ParRange • parallel hash maps - scala.collection.parallel.mutable.ParHashMap • parallel hash sets - scala.collection.parallel.mutable.ParHashSet • parallel hash tries - scala.collection.parallel.immutable.{ParHashMap, ParHashSet} • parallel vectors - scala.collection.parallel.immutable.ParVector

http://www.scala-lang.org/node/8976

Page 14: Paralell collections in Scala

REPL demo(https://gist.github.com/919224)

Page 15: Paralell collections in Scala

Q & A