Итак, scala 2,9 недавно появился в тестировании Debian, в результате чего с ним появились новые сфальсифицированные коллекции.
Предположим, что у меня есть некоторый код, эквивалентный
  def expensiveFunction(x:Int):Int = {...}
  def process(s:List[Int]):List[Int} = s.map(expensiveFunction)
теперь из маленького бита, который я почерпнул о параллельных коллекциях, прежде чем документы фактически появились на моей машине, я ожидал, что это распараллелит, просто переключив List на ParList... но, к моему удивлению, там это не одно! (Только ParVector, ParMap, ParSet...).
Как рабочий стол, этот (или однострочный эквивалент), кажется, работает достаточно хорошо:
  def process(s:List[Int]):List[Int} = {
    val ps=scala.collection.parallel.immutable.ParVector()++s
    val pr=ps.map(expensiveFunction)
    List()++pr
  }
дает приблизительно улучшение производительности x3 в моем тестовом коде и обеспечивает значительно более высокий уровень использования ЦП (четырехъядерный процессор плюс гиперпоточность i7). Но это кажется неуклюжим.
Мой вопрос - это нечто вроде агрегированного:
-  Почему нет 
ParList? -  Учитывая, что нет 
ParList, существует ли Лучшая модель/идиома, которую я должен принять так, чтобы Я не чувствую, что они пропали без вести? -  Я просто "за раз", используя списки a
в моих программах scala (например, все книги scala I
выкупили за 2,7 дня, которые меня научили) и
На самом деле я должен больше использовать
Vectors? (Я имею в виду на земле С++ Мне обычно нужна довольно веская причина для использованияstd::listнадstd::vector).